:root{--bg: #f5f5f7;--bg-elevated: #ffffff;--surface: #ffffff;--surface-soft: rgba(255, 255, 255, .72);--text: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #86868b;--accent: #0066cc;--accent-soft: rgba(0, 102, 204, .12);--accent-pressed: #004d99;--separator: rgba(0, 0, 0, .08);--radius: 16px;--radius-sm: 12px;--shadow: 0 2px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .1);--chrome-h: 52px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Helvetica Neue,system-ui,sans-serif;background:var(--bg);background-image:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(0,102,204,.06),transparent 55%),radial-gradient(ellipse 90% 50% at 100% 0%,rgba(120,120,128,.04),transparent 45%);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:-.015em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-secondary)}.small{font-size:.85rem}.error{color:#c62828}.pad{padding:1rem 1.25rem}.center{display:flex;align-items:center;justify-content:center;min-height:40vh}.premium-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.premium-surface{background:linear-gradient(180deg,#fffffffa,#fcfcfd);border-radius:var(--radius);border:.5px solid rgba(0,0,0,.06);box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000f}.ios-pressable{transition:transform .18s ease,box-shadow .18s ease}.ios-pressable:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000000d,0 12px 32px #00000014}.ios-pressable:active{transform:translateY(0) scale(.995)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-nav{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;background:#ffffffb8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--separator);position:sticky;top:0;z-index:10}.nav-spacer{flex:1}.btn-text{border:none;background:none;color:var(--accent);font:inherit;cursor:pointer;padding:.25rem .5rem}.app-main{flex:1;max-width:1320px;margin:0 auto;width:100%;padding:1.5rem 40px 3rem;box-sizing:border-box}.app-main:has(.catalog-page){padding-top:32px;padding-bottom:56px}@media (min-width: 1440px){.app-main{padding-left:48px;padding-right:48px}}.page{padding:0 1rem}.page-header h1{font-size:1.25rem;font-weight:600;margin:.25rem 0}.back-link{font-size:.9rem;display:inline-block;margin-bottom:.35rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:380px;padding:1.75rem}.login-card h1{margin:0 0 .25rem;font-size:1.35rem}.login-card label{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;font-size:.85rem;color:var(--text-secondary)}.login-card input{padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(0,0,0,.12);font:inherit}.btn-primary{margin-top:1.25rem;width:100%;padding:.75rem;border:none;border-radius:12px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.btn-primary:disabled{opacity:.6}.btn-secondary{padding:.5rem 1rem;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:var(--surface);font:inherit;cursor:pointer}.project-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.project-card{display:block;padding:1rem 1.1rem;color:inherit;text-decoration:none}.project-card:hover{text-decoration:none;opacity:.92}.project-card__title{font-weight:600;font-size:1.05rem}.project-card__stats{margin-top:.35rem}.hub-section{margin-top:1.5rem}.section-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 .5rem .25rem}.sub-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.sub-card{display:block;padding:.9rem 1rem;color:inherit}.sub-card:hover{text-decoration:none}.sub-card__name{font-weight:600}.empty-hint{padding:1rem;font-size:.9rem;color:var(--text-secondary)}.shots-toolbar__row{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.shots-toolbar__actions{display:flex;gap:.35rem;margin-top:.65rem}.icon-btn{width:40px;height:36px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:var(--surface);cursor:pointer;font-size:1rem;line-height:1}.search-bar{margin:.75rem 0 1rem}.search-bar input{width:100%;padding:.65rem .85rem;border-radius:12px;border:1px solid rgba(0,0,0,.1);font:inherit;background:var(--surface)}.group-header{font-size:.95rem;font-weight:600;color:var(--text-secondary);margin:1rem 0 .4rem .2rem}.shot-section__rows{display:flex;flex-direction:column;gap:.45rem}.shot-row{display:flex;align-items:flex-start;gap:.65rem;color:inherit;text-decoration:none}.shot-row:hover{text-decoration:none;opacity:.95}.shot-row--compact{padding:.35rem .25rem}.shot-row--expanded{padding:.75rem}.shot-thumb{flex-shrink:0;border-radius:10px;background:linear-gradient(145deg,#e8e9ed,#f2f3f7);border:.5px solid rgba(0,0,0,.08)}.shot-thumb--sm{width:44px;height:44px}.shot-thumb--lg{width:56px;height:56px;border-radius:12px}.shot-row__body{flex:1;min-width:0}.shot-row__top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.shot-id{font-weight:600;font-size:.95rem;font-variant-numeric:tabular-nums}.shot-id--lg{font-size:1.05rem}.shot-row__meta{font-size:.8rem;color:var(--text-secondary);margin-top:.2rem}.dot{margin:0 .2rem;color:var(--text-tertiary)}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.status-badge{font-size:.72rem;font-weight:600;padding:.3rem .55rem;border-radius:100px;white-space:nowrap}.status-badge--shot-header{font-size:.6875rem;padding:.22rem .5rem;align-self:center}.status-badge--gallery{font-size:.625rem;padding:.18rem .42rem;box-shadow:0 2px 10px #0000002e}.shot-meta-grid{display:grid;grid-template-columns:76px 1fr;gap:.2rem .5rem;margin:.5rem 0 0;font-size:.8rem}.shot-meta-grid dt{margin:0;color:var(--text-tertiary);font-weight:400}.shot-meta-grid dd{margin:0;color:var(--text-secondary);font-weight:500}.shot-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.shot-chip{font-size:.68rem;font-weight:600;padding:.25rem .5rem;border-radius:100px;background:#00000012;color:var(--text);border:.5px solid rgba(0,0,0,.08)}.shot-chip--muted{color:var(--text-secondary);background:#0000000d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:1rem}@media (min-width: 520px){.modal-backdrop{align-items:center}}.modal{width:100%;max-width:400px;max-height:85vh;overflow:auto;padding:1.25rem}.modal h2{margin:0 0 .35rem;font-size:1.1rem}.field{display:block;margin-top:1rem}.field select{width:100%;margin-top:.35rem;padding:.5rem;border-radius:10px;border:1px solid rgba(0,0,0,.12);font:inherit}.check-row{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;font-size:.9rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}.detail-grid{padding:1rem;display:grid;gap:1rem}.ios-detail-card{border-radius:16px}.small-break{word-break:break-all;font-size:.8rem}.shot-detail-header__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ios-pill-btn{display:inline-flex;align-items:center;padding:.45rem .9rem;border-radius:100px;background:var(--accent);color:#fff!important;font-size:.85rem;font-weight:600;text-decoration:none!important;box-shadow:0 1px 2px #007aff40}.ios-pill-btn:hover{opacity:.92;text-decoration:none}.hub-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.hub-page-header__text h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .25rem}.ios-fab{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:1.5rem;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 4px 14px #007aff59;display:flex;align-items:center;justify-content:center}.ios-fab:active{transform:scale(.96)}.hub-empty{padding:1.5rem;text-align:center}.hub-empty__btn{margin-top:1rem;max-width:280px}.hub-sub-row{display:flex;align-items:stretch;gap:.35rem;position:relative}.hub-sub-row__link{flex:1;min-width:0}.hub-sub-row__actions{position:relative;display:flex;align-items:flex-start;padding-top:.5rem}.ios-icon-btn{width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);font-size:1.1rem;letter-spacing:.1em;line-height:1;cursor:pointer}.ios-icon-btn:hover{background:#0000000d}.hub-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:none;background:transparent;cursor:default}.hub-menu{position:absolute;right:0;top:100%;margin-top:4px;min-width:160px;border-radius:14px;padding:.35rem 0;z-index:70;background:var(--surface);box-shadow:var(--shadow-lg);border:.5px solid var(--separator)}.ios-elevated{animation:ios-pop .2s ease}@keyframes ios-pop{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.hub-menu__item{display:block;width:100%;text-align:left;padding:.65rem 1rem;border:none;background:none;font:inherit;font-size:1rem;cursor:pointer;color:var(--text)}.hub-menu__item:hover{background:#0000000a}.hub-menu__item--destructive{color:#ff3b30}.ios-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000052;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:flex-end;justify-content:center;padding:0}.ios-sheet{width:100%;max-width:720px;max-height:92vh;overflow:auto;background:var(--bg);border-radius:16px 16px 0 0;box-shadow:0 -4px 40px #00000026;padding-bottom:env(safe-area-inset-bottom,1rem)}.ios-sheet__grab{width:36px;height:5px;border-radius:3px;background:#0000001f;margin:8px auto 4px}.ios-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem .75rem;border-bottom:.5px solid var(--separator);background:#f2f2f7fa;position:sticky;top:0;z-index:1}.ios-sheet__title{font-size:1rem;font-weight:600;margin:0;flex:1;text-align:center}.ios-sheet__btn{border:none;background:none;font:inherit;font-size:1rem;padding:.35rem .5rem;cursor:pointer;color:var(--text)}.ios-sheet__btn--plain{color:var(--accent)}.ios-sheet__btn--accent{font-weight:600;color:var(--accent)}.ios-sheet__btn:disabled{opacity:.4}.ios-form{padding:1rem 1rem 1.5rem}.ios-form__group{background:var(--surface);border-radius:12px;overflow:hidden;border:.5px solid var(--separator);margin-bottom:1rem}.ios-field{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1rem;border-bottom:.5px solid var(--separator)}.ios-field:last-child{border-bottom:none}.ios-field--row{flex-direction:row;align-items:center;justify-content:space-between}.ios-field__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.ios-field__input,.ios-field__textarea{border:none;background:transparent;font:inherit;font-size:1rem;color:var(--text);width:100%;padding:0;resize:vertical}.ios-field__input:focus,.ios-field__textarea:focus{outline:none}.ios-field__input--error{box-shadow:0 0 0 2px #ff3b3059;border-radius:6px}.ios-field__error{font-size:.8rem;color:#ff3b30;margin-top:-.1rem}.ios-field__readonly{font-size:1rem;color:var(--text-secondary);padding:.15rem 0;font-variant-numeric:tabular-nums}.ios-field-hint{margin:-.25rem 1rem .35rem;line-height:1.35}.shots-quick-add{display:flex;gap:.5rem;align-items:center;padding:.65rem .85rem;margin:0 0 .85rem;border-radius:12px;border:.5px solid var(--separator);background:var(--surface-2, rgba(0, 0, 0, .03))}.shots-quick-add input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:1rem;padding:.35rem .25rem}.shots-quick-add input:focus{outline:none}.shots-quick-add .btn-primary{flex-shrink:0;white-space:nowrap;padding:.45rem .9rem;font-size:.9rem}.ios-form__error{color:#ff3b30;font-size:.9rem;margin:0 0 .75rem}.ios-form__hint{font-size:.8rem;color:var(--text-secondary);line-height:1.4;margin:0}.ios-section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:1.25rem .5rem .4rem}.ios-nav-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .25rem .75rem;margin:0 -.25rem;position:sticky;top:0;z-index:5;background:#f2f2f7eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:.5px solid var(--separator)}.ios-nav-bar__title{font-size:1rem;font-weight:600;flex:1;text-align:center}.ios-nav-bar__btn{border:none;background:none;font:inherit;font-size:1rem;color:var(--accent);padding:.4rem .6rem;cursor:pointer}.ios-nav-bar__btn--accent{font-weight:600}.ios-nav-bar__btn:disabled{opacity:.4}.shot-form{padding-bottom:2rem}.shot-form__cancel-link{display:inline-block;margin-top:1.5rem}.ios-alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000059;display:flex;align-items:center;justify-content:center;padding:1.5rem}.ios-alert{width:100%;max-width:300px;background:#fffffff0;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow-lg)}.ios-alert__title{margin:0 0 1rem;text-align:center;font-size:.95rem}.ios-alert__actions{display:flex;flex-direction:column;gap:.5rem}.ios-alert__btn{width:100%;padding:.65rem;border:none;border-radius:12px;background:var(--surface);font:inherit;font-weight:500;cursor:pointer;border:.5px solid var(--separator)}.ios-alert__btn--destructive{color:#ff3b30}.ios-toolbar-add{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff!important;font-size:1.35rem;font-weight:300;line-height:1;text-decoration:none!important;box-shadow:0 2px 8px #007aff4d}.ios-toolbar-add:hover{opacity:.92;text-decoration:none}.shots-toolbar__actions{align-items:center}.chrome{position:sticky;top:0;z-index:100;border-bottom:.5px solid var(--separator);background:var(--surface-soft);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);box-shadow:0 1px #fff9 inset}.chrome__inner{max-width:1320px;margin:0 auto;padding:.4rem 40px;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .85rem;box-sizing:border-box}@media (min-width: 1440px){.chrome__inner{padding-left:48px;padding-right:48px}}.chrome--minimal .chrome__inner{justify-content:space-between}.chrome__brand{display:flex;align-items:center;gap:.65rem;min-width:0}.chrome__mark{flex-shrink:0;width:36px;height:36px;border-radius:10px;border:none;background:linear-gradient(145deg,#1d1d1f,#424245);color:#f5f5f7;font-size:.7rem;font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 2px 12px #0000002e}.chrome__mark:hover{opacity:.92}.chrome__divider{width:1px;height:22px;background:var(--separator);flex-shrink:0}.chrome__project-wrap{position:relative;min-width:0}.chrome__project-btn{display:inline-flex;align-items:center;gap:.35rem;max-width:min(280px,46vw);padding:.4rem .65rem;border-radius:10px;border:none;background:transparent;font:inherit;font-size:.95rem;font-weight:600;color:var(--text);cursor:pointer;letter-spacing:-.02em}.chrome__project-btn:hover,.chrome__project-btn--active{background:#0000000a}.chrome__project-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chrome__chevron{font-size:.65rem;color:var(--text-tertiary);flex-shrink:0}.chrome__popover{position:absolute;left:0;top:calc(100% + 6px);min-width:240px;max-width:min(320px,92vw);max-height:min(70vh,400px);overflow:auto;padding:.35rem 0;border-radius:14px;background:#fffffff0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:.5px solid var(--separator);box-shadow:var(--shadow-lg)}.chrome__popover-sep{height:.5px;background:var(--separator);margin:.25rem 0}.chrome__popover-item{display:block;width:100%;text-align:left;padding:.55rem 1rem;border:none;background:none;font:inherit;font-size:.9rem;cursor:pointer;color:var(--text)}.chrome__popover-item:hover{background:#0000000a}.chrome__popover-item--head{font-weight:600;color:var(--accent)}.chrome__popover-item--current{background:var(--accent-soft);font-weight:600}.chrome__segments{display:inline-flex;padding:3px;border-radius:10px;background:#0000000d;border:.5px solid rgba(0,0,0,.06);flex-shrink:0}.chrome__segments--ghost{background:transparent;border:none;padding:0}.chrome__hint{font-size:.8rem;color:var(--text-tertiary);font-weight:500}.chrome__seg{padding:.4rem 1rem;border:none;border-radius:8px;background:transparent;font:inherit;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;letter-spacing:-.01em}.chrome__seg:hover:not(:disabled){color:var(--text)}.chrome__seg:disabled{opacity:.35;cursor:not-allowed}.chrome__seg--on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000014}.chrome__tail{display:flex;align-items:center;gap:1rem;margin-left:auto;flex-wrap:wrap}@media (max-width: 720px){.chrome__tail{width:100%;justify-content:space-between}}.chrome__subpick{display:flex;align-items:center;gap:.45rem}.chrome__subpick-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.chrome__select{flex:1;min-width:0;max-width:220px;padding:.45rem .65rem;border-radius:10px;border:.5px solid var(--separator);background:var(--surface);font:inherit;font-size:.88rem;font-weight:500;color:var(--text);cursor:pointer}.chrome__user{display:flex;align-items:center;gap:.65rem}.chrome__user--solo{margin-left:0}.chrome__avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#e8e8ed,#d2d2d7);color:var(--text);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:.5px solid rgba(0,0,0,.06)}.chrome__user-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem}@media (max-width: 520px){.chrome__user-meta{display:none}}.chrome__user-name{font-size:.82rem;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chrome__logout{border:none;background:none;padding:0;font:inherit;font-size:.75rem;color:var(--accent);cursor:pointer;font-weight:500}.chrome__logout:hover{text-decoration:underline}.chrome__minimal-title{flex:1;text-align:center;font-size:.9rem;font-weight:500;color:var(--text-secondary);letter-spacing:-.01em}.page.page--catalog{padding:0}.catalog-lead{font-size:.95rem;line-height:1.45;margin:0 0 1.5rem;max-width:42rem}.project-list--grid{display:grid;grid-template-columns:1fr;gap:1rem}.project-list--grid.project-list--catalog{gap:24px;list-style:none;margin:0;padding:0;align-items:stretch}@media (min-width: 640px){.project-list--grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.project-list--grid{grid-template-columns:repeat(3,1fr)}}.catalog-project-card.project-card--lux{box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;min-height:150px;padding:22px 24px 20px;border-radius:24px;border:.5px solid rgba(0,0,0,.06);box-shadow:var(--shadow);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.catalog-project-card.project-card--lux:hover{opacity:1;transform:translateY(-3px);box-shadow:0 14px 40px #00000017;border-color:#0000001a;text-decoration:none}.project-card__kind{margin-top:.35rem;font-size:.8rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.project-card__stats{margin-top:.85rem;font-size:.85rem;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.project-card__dot{color:var(--text-tertiary)}.hub-tagline{font-size:1rem;line-height:1.5;margin:0;max-width:40rem}.hub-page-header--slim{margin-bottom:1.25rem}.ios-fab--lux{box-shadow:0 6px 24px #0066cc59}.shots-toolbar--chrome{border-bottom:none;padding-bottom:.5rem}.shots-title{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;margin:0}.login-page{background:transparent}.login-card{border-radius:22px;border:.5px solid rgba(0,0,0,.06);box-shadow:var(--shadow-lg)}.login-card h1{font-size:1.5rem;font-weight:600;letter-spacing:-.03em}.project-shell{width:100%}.ios-glass{background:#ffffff8c;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.project-workspace{padding-left:0;padding-right:0;padding-bottom:5.5rem;display:flex;flex-direction:column;min-height:calc(100vh - 9rem)}.work-zone--stretch{flex:1;display:flex;flex-direction:column;min-height:0}.work-zone__empty{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem 3rem;text-align:center}.work-zone__empty-inner{max-width:22rem}.work-zone__empty-title{margin:0 0 .45rem;font-size:1rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.work-zone__empty-hint{margin:0;font-size:.9rem;line-height:1.45}.work-zone__empty-actions{margin-top:1rem}.project-rail--dense{margin:0 0 1rem;padding:0 0 .35rem;border:none;border-radius:0;box-shadow:none;background:transparent}.project-rail__inner--flow{display:flex;flex-flow:row wrap;align-items:center;gap:.32rem .58rem;row-gap:.38rem;width:100%}.project-rail__segment{display:inline-flex;flex-direction:row;align-items:center;gap:.35rem;flex:0 1 auto;min-width:0;max-width:100%}.project-rail__segment-label{flex-shrink:0;font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding-left:.05rem;white-space:nowrap}.project-rail__segment .project-rail__pills{flex:1 1 auto;min-width:0}.project-rail__pills{display:flex;flex-wrap:nowrap;gap:.28rem;overflow-x:auto;padding-bottom:.06rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.project-rail__pill{position:relative;overflow:hidden;flex:0 0 auto;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:.18rem;min-height:30px;max-height:32px;padding:0 .42rem;border-radius:9px;border:.5px solid rgba(0,0,0,.07);background:#ffffff80;color:inherit;text-decoration:none;max-width:10.5rem;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.project-rail__pill:hover{text-decoration:none;background:#ffffffe0}.project-rail__pill--active{background:#0066cc17;border:.5px solid rgba(0,102,204,.22);box-shadow:none}.project-rail__pill--active .project-rail__pill-name{color:var(--text);font-weight:600}.project-rail__pill--active .project-rail__pill-count{color:var(--text-secondary)}.project-rail__pill--active:hover{background:#0066cc1c;border-color:#0066cc47}.project-rail__pill-name{font-size:.74rem;font-weight:600;letter-spacing:-.02em;line-height:1.12;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.project-rail__pill-sep{color:var(--text-tertiary);font-size:.58rem;flex-shrink:0;opacity:.85}.project-rail__pill-count{font-size:.62rem;color:var(--text-tertiary);font-weight:500;flex-shrink:0}.project-rail__pill--add{flex-direction:column;align-items:center;justify-content:center;gap:.06rem;min-width:3.1rem;max-width:none;min-height:32px;max-height:36px;padding:.22rem .38rem;border-radius:8px;border:1px dashed rgba(0,0,0,.14);background:#00000006;cursor:pointer;font:inherit;color:inherit;box-shadow:none}.project-rail__pill--add:hover{background:#0000000d;border-color:#00000038}.project-rail__pill--add:active{transform:scale(.97)}.project-rail__add-plus{font-size:.88rem;font-weight:500;line-height:1;color:var(--text-secondary)}.project-rail__add-caption{font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);line-height:1}.project-rail__empty{padding:.15rem .25rem}.project-rail--workspace.project-rail--dense{margin:0;padding:26px 0 24px;border-bottom:none;background:transparent}.project-rail--workspace .project-rail__inner--flow{gap:.65rem 1.1rem;row-gap:.65rem;align-items:center}.project-rail--workspace .project-rail__segment--bare{display:flex;flex-direction:row;align-items:center;min-width:0;flex:0 1 auto}.project-rail--workspace .project-rail__pills{gap:10px}.project-rail--workspace .project-rail__pill--stacked{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;box-sizing:border-box;min-height:64px;max-height:72px;min-width:5.5rem;max-width:14rem;padding:16px 17px;border-radius:15px}.project-rail--workspace .project-rail__pill--stacked.project-rail__pill--active{min-height:64px;max-height:72px;padding:16px 17px;border-width:1px;border-color:#0066cc52;background:#0066cc1a;box-shadow:0 2px 12px #0066cc14}.project-rail--workspace .project-rail__pill-main{font-size:.875rem;font-weight:600;letter-spacing:-.02em;line-height:1.12;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.project-rail--workspace .project-rail__pill--active .project-rail__pill-main{font-size:.9rem;color:var(--text);font-weight:600}.project-rail--workspace .project-rail__pill-sub{font-size:.6875rem;font-weight:500;letter-spacing:.02em;color:var(--text-tertiary);line-height:1.15}.project-rail--workspace .project-rail__pill--active .project-rail__pill-sub{color:var(--text-secondary)}.project-rail--workspace .project-rail__pill--stacked .project-rail__pill-name,.project-rail--workspace .project-rail__pill--stacked .project-rail__pill-sep,.project-rail--workspace .project-rail__pill--stacked .project-rail__pill-count{display:none}.project-rail__add-reel{flex:0 0 auto;box-sizing:border-box;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;align-self:center;border-radius:10px;border:1px dashed rgba(0,0,0,.22);background:transparent;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--text-secondary);opacity:.5;box-shadow:none;transition:opacity .15s ease,border-color .15s ease,background .15s ease}.project-rail__add-reel-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:1.5rem;font-weight:300;line-height:0;transform:translateY(-1px)}.project-rail__add-reel:hover{opacity:.72;border-color:#00000052;background:#00000008}.project-rail__add-reel:active{transform:scale(.96)}.subproject-flow-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0000005c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.subproject-flow-modal{width:100%;max-width:420px;max-height:min(640px,calc(100vh - 32px));display:flex;flex-direction:column;overflow:hidden;border-radius:20px;border:.5px solid rgba(0,0,0,.08);background:var(--surface);box-shadow:0 24px 80px #0000002e}.subproject-flow__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.35rem;padding:.65rem .6rem .75rem;border-bottom:.5px solid var(--separator);flex-shrink:0}.subproject-flow__header-side{display:flex;align-items:center;min-width:0}.subproject-flow__header-side--start{justify-content:flex-start}.subproject-flow__header-side--end{justify-content:flex-end}.subproject-flow__title{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;text-align:center}.subproject-flow__header-btn{border:none;background:none;font:inherit;font-size:1rem;padding:.35rem .45rem;cursor:pointer;border-radius:8px}.subproject-flow__header-btn:disabled{opacity:.45;cursor:default}.subproject-flow__header-btn--plain{color:var(--accent)}.subproject-flow__header-btn--accent{font-weight:600;color:var(--accent)}.subproject-flow__body{padding:1rem 1.15rem 1.35rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.subproject-flow__section-label{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.subproject-flow__hint{margin:.45rem 0 0;line-height:1.45}.subproject-flow__choices{display:flex;flex-direction:column;gap:10px;margin-top:1rem}.subproject-flow-choice{display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;min-height:72px;border-radius:14px;border:1px solid rgba(0,0,0,.1);background:#ffffffeb;cursor:pointer;font:inherit;color:inherit;transition:background .15s ease,border-color .15s ease,transform .12s ease}.subproject-flow-choice:hover:not(:disabled){border-color:#0066cc38;background:#fff}.subproject-flow-choice:active:not(:disabled){transform:scale(.99)}.subproject-flow-choice:disabled{opacity:.55;cursor:default}.subproject-flow-choice--compact{min-height:64px;padding:12px 14px}.subproject-flow-choice__icon{flex-shrink:0;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0000000f;font-size:1.25rem;line-height:1}.subproject-flow-choice__dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--accent);opacity:.85;margin-left:4px;margin-right:2px}.subproject-flow-choice__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.subproject-flow-choice__title{font-size:.9375rem;font-weight:600;letter-spacing:-.02em}.subproject-flow-choice__sub{line-height:1.35}.subproject-flow-choice__chev{flex-shrink:0;min-width:1rem;text-align:center;font-size:1.35rem;font-weight:300;line-height:1;color:var(--text-tertiary);opacity:.65}.subproject-flow__field{display:block;margin-top:.85rem}.subproject-flow__input{width:100%;box-sizing:border-box;padding:.85rem 1rem;font:inherit;font-size:1rem;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fffffffa}.subproject-flow__input:focus{outline:none;border-color:#0066cc73;box-shadow:0 0 0 3px #0066cc1f}.subproject-flow__kind-note{margin:.65rem 0 0}.subproject-flow__error{margin:1rem 0 0}.work-zone{margin-top:0;padding-top:8px}.work-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-bottom:.65rem;padding-bottom:.5rem;border-bottom:.5px solid rgba(0,0,0,.06)}.work-toolbar--composed{align-items:center;gap:0;padding-bottom:12px;margin-bottom:10px;border-bottom:.5px solid rgba(0,0,0,.07)}.work-toolbar--composed .work-toolbar__row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;width:100%}.work-toolbar__search-wrap{display:flex;align-items:center;gap:.28rem;flex:1 1 auto;min-width:0;max-width:16.5rem}.work-toolbar__search-wrap--lead{flex:1 1 200px;max-width:min(100%,400px)}.work-toolbar__search{flex:1;min-width:0;width:100%;height:32px;padding:0 .55rem;border-radius:8px;border:.5px solid rgba(0,0,0,.09);font:inherit;font-size:.8rem;background:#ffffffe0}.work-toolbar--composed .work-toolbar__search{box-sizing:border-box;height:44px;padding:0 14px;border-radius:14px;font-size:.8125rem;border:1px solid rgba(0,0,0,.11);background:#fffffff5}.work-toolbar__unit{flex:1 1 100%;font-size:1.1rem;font-weight:600;letter-spacing:-.025em;line-height:1.25;color:var(--text)}@media (min-width: 900px){.work-toolbar__unit{flex:0 1 auto;max-width:42%;font-size:1.05rem}.work-toolbar--composed .work-toolbar__right{flex-wrap:nowrap;margin-left:0}}@media (max-width: 719px){.work-toolbar--composed .work-toolbar__row{flex-direction:column;align-items:stretch}.work-toolbar__search-wrap--lead{max-width:none}.work-toolbar--composed .work-toolbar__right{justify-content:flex-start;flex-wrap:wrap}}.work-toolbar__main{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;flex:0 1 auto;min-width:0;max-width:min(100%,420px)}.work-toolbar__shot{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 .65rem;border-radius:9px;background:var(--accent);color:#fff!important;font-size:.82rem;font-weight:600;text-decoration:none!important;letter-spacing:-.012em;flex-shrink:0}.work-toolbar__shot:hover{opacity:.94;text-decoration:none}.work-toolbar__right{display:flex;flex-wrap:wrap;align-items:center;gap:8px}@media (min-width: 900px){.work-toolbar__right{margin-left:auto}}.work-toolbar__btn{height:32px;padding:0 .65rem;border-radius:8px;border:.5px solid var(--separator);background:#ffffffb3;font:inherit;font-size:.78rem;font-weight:600;color:var(--text-secondary);cursor:pointer;letter-spacing:-.01em}.work-toolbar__btn:hover{color:var(--text);background:#fff}.work-toolbar__btn--ghost{display:inline-flex;align-items:center;gap:.32rem;height:30px;padding:0 .42rem;border:none;background:transparent;font-size:.74rem;font-weight:500;color:var(--text-tertiary);letter-spacing:.01em}.work-toolbar__btn--ghost:hover{color:var(--text-secondary);background:#0000000a}.work-toolbar__ic{flex-shrink:0;opacity:.5}.work-toolbar__btn--ghost:hover .work-toolbar__ic{opacity:.65}.work-toolbar__ctrl{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;box-sizing:border-box;height:44px;padding:0 16px;border-radius:14px;border:1px solid rgba(0,0,0,.11);background:#fffffff5;font:inherit;font-size:.8125rem;font-weight:600;letter-spacing:-.015em;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.work-toolbar__ctrl:hover{background:#fff;border-color:#00000029;color:var(--text)}.work-toolbar__ctrl .work-toolbar__ic{opacity:.55}.work-toolbar__ctrl:hover .work-toolbar__ic{opacity:.72}.work-toolbar__view{display:inline-flex;align-items:stretch;box-sizing:border-box;height:44px;padding:3px;border-radius:14px;border:1px solid rgba(0,0,0,.11);background:#00000008}.work-toolbar__view-i{display:inline-flex;align-items:center;justify-content:center;min-width:5.5rem;padding:0 14px;border:none;border-radius:11px;background:transparent;font:inherit;font-size:.8125rem;font-weight:600;color:var(--text-tertiary);cursor:pointer;letter-spacing:-.012em}.work-toolbar__view-i:hover{color:var(--text-secondary)}.work-toolbar__view-i--on{background:#fffffff5;color:var(--text);box-shadow:0 1px 2px #0000000d}.work-toolbar__err{margin:-.35rem 0 .4rem}.workspace-fab{position:fixed;right:28px;bottom:28px;z-index:45}.workspace-fab__btn{width:52px;height:52px;border-radius:16px;border:none;background:#262628e6;color:#fff;font-size:1.7rem;font-weight:300;line-height:1;cursor:pointer;box-shadow:0 4px 18px #0003,0 1px 3px #0000001f;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.workspace-fab__btn:hover:not(:disabled){background:#1d1d1ff5;box-shadow:0 6px 26px #0000003d,0 2px 6px #0000001a;transform:translateY(-2px)}.workspace-fab__btn:active:not(:disabled){transform:translateY(0) scale(.97)}.workspace-fab__btn:disabled{opacity:.45;cursor:not-allowed}.workspace-fab__menu{position:absolute;right:0;bottom:calc(100% + 12px);min-width:12.5rem;padding:6px;border-radius:14px;border:.5px solid rgba(0,0,0,.08);box-shadow:0 10px 40px #00000024;background:var(--surface)}.workspace-fab__item{display:block;width:100%;margin:0;padding:10px 12px;border:none;border-radius:10px;background:transparent;font:inherit;font-size:.88rem;font-weight:500;text-align:left;color:var(--text);text-decoration:none;cursor:pointer;transition:background .12s ease}.workspace-fab__item:hover{background:#0000000d}.work-zone__status{margin:0 0 .5rem;font-size:.88rem}.modal--compact h2{font-size:1.05rem}.modal--compact{padding:1rem 1.1rem}.modal.project-create-modal{width:100%;max-width:580px;max-height:min(92vh,880px);padding:30px;border-radius:30px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;border:.5px solid rgba(0,0,0,.06);box-shadow:0 1px 2px #0000000a,0 16px 48px #0000001a}.modal.project-create-modal .project-create-modal__h{margin:0 0 22px;font-size:1.35rem;font-weight:600;letter-spacing:-.032em;line-height:1.2;color:var(--text)}.project-create-modal__block{margin-top:22px}.project-create-modal__block:first-of-type{margin-top:0}.project-create-modal__label{display:block;margin-bottom:8px;font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--text-secondary);line-height:1.3}.project-create-modal__optional{font-weight:500;color:#6e6e7385;letter-spacing:0}.project-create-modal__input{display:block;width:100%;box-sizing:border-box;height:54px;padding:0 16px;border-radius:15px;border:.5px solid rgba(0,0,0,.12);background:#fffffff2;font:inherit;font-size:1rem;font-weight:400;letter-spacing:-.015em;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.project-create-modal__input::placeholder{color:#6e6e738c;font-weight:400}.project-create-modal__input:hover:not(:disabled){border-color:#00000029}.project-create-modal__input:focus{outline:none;border-color:#0066cc73;box-shadow:0 0 0 3px #0066cc1f}.project-create-modal__input:disabled{opacity:.55;cursor:not-allowed}.project-create-modal__textarea{display:block;width:100%;box-sizing:border-box;min-height:92px;padding:14px 16px;border-radius:15px;border:.5px solid rgba(0,0,0,.12);background:#fffffff2;font:inherit;font-size:.9375rem;line-height:1.45;letter-spacing:-.012em;color:var(--text);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.project-create-modal__textarea::placeholder{color:#6e6e7380}.project-create-modal__textarea:hover:not(:disabled){border-color:#00000029}.project-create-modal__textarea:focus{outline:none;border-color:#0066cc73;box-shadow:0 0 0 3px #0066cc1f}.project-create-modal__textarea:disabled{opacity:.55;cursor:not-allowed}.project-create-modal__kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.project-create-modal__kind-pill{min-height:46px;padding:10px 16px;border-radius:15px;border:.5px solid rgba(0,0,0,.1);background:#ffffffe0;font:inherit;font-size:.9rem;font-weight:500;letter-spacing:-.018em;line-height:1.25;color:var(--text);text-align:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.project-create-modal__kind-pill:hover:not(:disabled):not(.project-create-modal__kind-pill--on){background:#fff;border-color:#00000024}.project-create-modal__kind-pill:focus-visible{outline:none;box-shadow:0 0 0 3px #06c3}.project-create-modal__kind-pill:disabled{opacity:.5;cursor:not-allowed}.project-create-modal__phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-create-modal__phase-pill{min-height:42px;padding:8px 12px;font-size:.8125rem;line-height:1.22}.project-create-modal__kind-pill--on{font-weight:600;color:var(--text);background:#0066cc17;border-color:#0066cc61;box-shadow:inset 0 1px #ffffffa6,0 0 0 1px #0066cc0f}.project-create-modal__error{margin:18px 0 0}.project-create-modal__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:26px;padding-top:4px}.project-create-modal__btn-cancel{height:48px;padding:0 18px;border-radius:15px;border:none;background:transparent;font:inherit;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.project-create-modal__btn-cancel:hover:not(:disabled){background:#0000000d;color:var(--text)}.project-create-modal__btn-cancel:focus-visible{outline:none;box-shadow:0 0 0 3px #0066cc2e;border-radius:15px}.project-create-modal__btn-cancel:disabled{opacity:.45;cursor:not-allowed}.project-create-modal__btn-submit{height:48px;min-width:7.5rem;padding:0 22px;border:none;border-radius:15px;background:var(--accent);color:#fff;font:inherit;font-size:.9rem;font-weight:600;letter-spacing:-.015em;cursor:pointer;box-shadow:0 1px 2px #00000014;transition:background .15s ease,box-shadow .15s ease,transform .12s ease}.project-create-modal__btn-submit:hover:not(:disabled){background:var(--accent-pressed);box-shadow:0 2px 8px #0066cc40}.project-create-modal__btn-submit:active:not(:disabled){transform:scale(.98)}.project-create-modal__btn-submit:focus-visible{outline:none;box-shadow:0 0 0 3px #0066cc47,0 2px 8px #06c3}.project-create-modal__btn-submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.shots-csv-import{max-width:min(100vw - 2rem,34rem)}.shots-csv-import__hint{margin:0 0 .75rem;line-height:1.45}.shots-csv-import__warnings{margin:0 0 .65rem;padding-left:1.1rem}.shots-csv-import__scroll{max-height:12rem;overflow:auto;margin:.5rem 0;border-radius:8px;border:.5px solid rgba(0,0,0,.08)}.shots-csv-import__log{margin:.5rem 0 0;padding:.5rem .65rem;border-radius:8px;background:#0000000a;white-space:pre-wrap;word-break:break-word;max-height:10rem;overflow:auto}.shots-import-stat{font-size:.85rem;margin:.35rem 0}.shots-import-preview{width:100%;border-collapse:collapse;font-size:.76rem}.shots-import-preview th,.shots-import-preview td{border-bottom:.5px solid rgba(0,0,0,.08);padding:.35rem .45rem;text-align:left;vertical-align:top}.shots-import-preview th{font-weight:600;color:var(--text-tertiary);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.shots-csv-import-backdrop{backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);background:#00000061}.shots-csv-import-modal{--csv-pad: 1.35rem;width:100%;max-width:min(96vw,26rem);max-height:min(90vh,640px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:20px}.shots-csv-import-modal--wide{max-width:min(96vw,52rem);max-height:min(92vh,820px)}.shots-csv-import-modal__header{flex-shrink:0;padding:1.1rem var(--csv-pad) .85rem;border-bottom:.5px solid rgba(0,0,0,.06)}.shots-csv-import-modal__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.shots-csv-import-modal__header-main{min-width:0;flex:1}.shots-csv-import-modal__file-pill{flex-shrink:0;max-width:12rem;padding:.28rem .55rem;border-radius:8px;background:#0000000d;color:var(--text-secondary);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shots-csv-import-modal__title{margin:0 0 .35rem;font-size:1.15rem;font-weight:650;letter-spacing:-.03em}.shots-csv-import-modal__subtitle{margin:0;font-size:.84rem;line-height:1.4;color:var(--text-secondary)}.shots-csv-import-modal__body{flex:1;min-height:0;overflow-y:auto;padding:1rem var(--csv-pad)}.shots-csv-import-modal__step-file{display:flex;flex-direction:column;gap:.75rem}.shots-csv-import-modal__dropzone{border:1.5px dashed rgba(0,0,0,.14);border-radius:16px;padding:1.75rem 1.25rem;text-align:center;cursor:pointer;background:#00000005;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.shots-csv-import-modal__dropzone:hover,.shots-csv-import-modal__dropzone:focus-visible{outline:none;border-color:#0066cc73;background:#0066cc0a;box-shadow:0 0 0 3px #0066cc14}.shots-csv-import-modal__dropzone--active{border-color:var(--accent);background:#0066cc12}.shots-csv-import-modal__dropzone--has-file{border-style:solid;border-color:#0000001a}.shots-csv-import-modal__dropzone-icon{color:var(--text-tertiary);margin-bottom:.5rem;display:flex;justify-content:center}.shots-csv-import-modal__dropzone-title{margin:0;font-size:.95rem;font-weight:600;color:var(--text)}.shots-csv-import-modal__dropzone-or{margin:.35rem 0;font-size:.78rem;color:var(--text-tertiary)}.shots-csv-import-modal__dropzone-cta{font-size:.84rem;font-weight:600;color:var(--accent)}.shots-csv-import-modal__dropzone-file{margin:.65rem 0 0;color:var(--text-secondary);word-break:break-all}.shots-csv-import-modal__format-hint{margin:0;text-align:center}.shots-csv-import-modal__excel-details{border-radius:10px;border:.5px solid rgba(0,0,0,.08);background:#00000005;padding:.35rem .65rem}.shots-csv-import-modal__excel-summary{cursor:pointer;font-size:.8rem;font-weight:500;color:var(--accent);list-style:none}.shots-csv-import-modal__excel-summary::-webkit-details-marker{display:none}.shots-csv-import-modal__excel-body{margin:.5rem 0 .15rem;line-height:1.45}.shots-csv-import-modal__alert{border-radius:12px;padding:.75rem .9rem;border:.5px solid transparent;margin-bottom:.65rem}.shots-csv-import-modal__alert--danger{background:#c0392b0f;border-color:#c0392b33}.shots-csv-import-modal__alert--warn{background:#c88c0012;border-color:#c88c0038}.shots-csv-import-modal__alert-title{display:block;font-size:.8rem;font-weight:650;margin:0 0 .35rem;color:var(--text)}.shots-csv-import-modal__alert--danger .shots-csv-import-modal__alert-title{color:#8b2e22}.shots-csv-import-modal__alert--warn .shots-csv-import-modal__alert-title{color:#7a5a00}.shots-csv-import-modal__alert-text{margin:0;font-size:.8125rem;line-height:1.45;color:var(--text-secondary)}.shots-csv-import-modal__alert-meta{margin:.45rem 0 0}.shots-csv-import-modal__alert-list{margin:0;padding-left:1.1rem;font-size:.78rem;line-height:1.4;color:var(--text-secondary)}.shots-csv-import-modal__settings-card{margin-bottom:1rem;padding:.75rem .9rem;border-radius:12px;border:.5px solid rgba(0,0,0,.08);background:#ffffffa6;box-shadow:0 1px 4px #0000000a}.shots-csv-import-modal__settings-heading{margin:0 0 .55rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.shots-csv-import-modal__settings-inner{display:flex;flex-direction:column;gap:.45rem}.shots-csv-import-modal__check{display:flex;align-items:flex-start;gap:.5rem;font-size:.84rem;font-weight:500;cursor:pointer;line-height:1.35}.shots-csv-import-modal__check input{margin-top:.12rem;flex-shrink:0}.shots-csv-import-modal__summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}@media (max-width: 640px){.shots-csv-import-modal__summary-grid{grid-template-columns:repeat(2,1fr)}}.shots-csv-import-modal__stat-card{border-radius:10px;padding:.55rem .5rem;text-align:center;border:.5px solid rgba(0,0,0,.07);background:#00000006}.shots-csv-import-modal__stat-value{display:block;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.15}.shots-csv-import-modal__stat-label{display:block;margin-top:.2rem;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);line-height:1.25}.shots-csv-import-modal__table-wrap{overflow-x:auto;border:.5px solid rgba(0,0,0,.07);border-radius:12px;max-height:min(36vh,300px);overflow-y:auto}.shots-csv-import-modal--wide .shots-csv-import-modal__table-wrap{max-height:min(42vh,380px)}.shots-csv-import-modal__table{width:100%;border-collapse:collapse;font-size:.78rem}.shots-csv-import-modal__table th,.shots-csv-import-modal__table td{padding:.45rem .55rem;text-align:left;border-bottom:.5px solid rgba(0,0,0,.05);vertical-align:middle}.shots-csv-import-modal__table th{position:sticky;top:0;background:#fffffff7;z-index:1;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.shots-csv-import-modal__td-header{max-width:9rem;word-break:break-word}.shots-csv-import-modal__sample{max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shots-csv-import-modal__tr--conflict{background:#c0392b0f;box-shadow:inset 3px 0 #c0392b73}.shots-csv-import-modal__select{width:100%;max-width:16rem;font:inherit;font-size:.76rem;padding:.3rem .45rem;border-radius:8px;border:.5px solid rgba(0,0,0,.12);background:var(--surface)}.shots-csv-import-modal__badge{display:inline-block;font-size:.65rem;font-weight:650;padding:.2rem .45rem;border-radius:6px;letter-spacing:.02em;white-space:nowrap}.shots-csv-import-modal__badge--required{background:#0066cc1f;color:#004d99}.shots-csv-import-modal__badge--ok{background:#3478501f;color:#2d6a45}.shots-csv-import-modal__badge--skipped{background:#0000000d;color:var(--text-tertiary)}.shots-csv-import-modal__badge--conflict{background:#c0392b1f;color:#8b2e22}.shots-csv-import-modal__progress{margin:.65rem 0 0}.shots-csv-import-modal__footer{flex-shrink:0;padding:.9rem var(--csv-pad) 1rem;border-top:.5px solid rgba(0,0,0,.07);background:#ffffffbf}.shots-csv-import-modal__footer--file{display:flex;justify-content:space-between;align-items:center;gap:1rem}.shots-csv-import-modal__footer--map{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem 1rem}.shots-csv-import-modal__footer--map>.btn-secondary{justify-self:start}.shots-csv-import-modal__footer--map>.btn-primary{justify-self:end;grid-column:3}.shots-csv-import-modal__footer-status{grid-column:2;justify-self:center;text-align:center;font-size:.78rem;color:var(--text-secondary);max-width:18rem;line-height:1.35}.shots-csv-import-modal__footer-status--warn{color:#8b2e22;font-weight:500}.shots-gallery--workspace{margin-top:12px}.shots-gallery__section{margin-bottom:.25rem}.shots-gallery__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem 1rem}@media (min-width: 1500px){.shots-gallery__grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 1180px){.shots-gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 860px){.shots-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 560px){.shots-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .75rem}}.shot-gallery-card{display:flex;flex-direction:column;border-radius:19px;overflow:hidden;border:.5px solid rgba(0,0,0,.08);background:#ffffffe0;box-shadow:0 1px #ffffffbf inset;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.shot-gallery-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 28px #00000014,0 1px #fffc inset;border-color:#0000001a}.shot-gallery-card:focus-visible{outline:2px solid rgba(0,102,204,.45);outline-offset:2px}.shot-gallery-card__frame{position:relative;aspect-ratio:16 / 9;width:100%;background:linear-gradient(165deg,#0000000d,#00000017)}.shot-gallery-card__media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.shot-gallery-card__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#f0f0f2f2,#e4e4e8fa)}.shot-gallery-card__placeholder-text{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6e6e738c}.shot-gallery-card__badge{position:absolute;top:8px;right:8px;z-index:2;max-width:calc(100% - 16px)}.shot-gallery-card__hover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;background:#0000006b;color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.02em;opacity:0;transition:opacity .18s ease;pointer-events:none}.shot-gallery-card:hover .shot-gallery-card__hover{opacity:1}.shot-gallery-card__footer{flex:1 1 auto;min-height:0;padding:12px 14px 13px;display:flex;flex-direction:column;gap:3px;justify-content:center}.shot-gallery-card__id{font-size:.875rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:#1d1d1ff2}.shot-gallery-card__vendor{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6e6e73d1;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shots-list--workspace{margin-top:12px}.shots-list--workspace .shot-row--expanded{padding:.6rem .75rem;border-radius:14px;border:.5px solid rgba(0,0,0,.05)}.shots-list--workspace .shot-row--compact{padding:.32rem .45rem;border-radius:12px;border:.5px solid rgba(0,0,0,.05)}.shots-table-wrap{margin-top:12px;border-radius:16px;overflow:auto;border:.5px solid rgba(0,0,0,.06);-webkit-overflow-scrolling:touch}.shots-table{width:100%;border-collapse:collapse;font-size:.82rem;table-layout:auto}.shots-table__th{text-align:left;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);padding:.55rem .65rem;border-bottom:.5px solid var(--separator);background:#00000005;white-space:nowrap}.shots-table__th--thumb,.shots-table__td--thumb{width:calc(128px + .9rem);min-width:calc(128px + .9rem);max-width:calc(128px + .9rem);padding:.45rem;box-sizing:border-box;text-align:center;vertical-align:middle}.shots-table__thumb-hit{position:relative;display:block;width:128px;height:72px;margin:0 auto;padding:0;border:none;border-radius:12px;overflow:hidden;cursor:pointer;background:#0000000f;box-shadow:0 1px 4px #00000014;text-align:center;font:inherit;color:inherit}.shots-table__thumb-hit:disabled{cursor:wait;opacity:.75}.shots-table__thumb-hit--readonly{cursor:default;box-shadow:none}.shots-table__thumb-hit--busy{pointer-events:none;opacity:.72}.shots-table__thumb-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.shots-table__thumb-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.35rem;background:linear-gradient(160deg,#e8eaef,#f2f3f7);border:.5px solid rgba(0,0,0,.07);box-sizing:border-box}.shots-table__thumb-empty--readonly{cursor:inherit}.shots-table__thumb-empty-icon{color:var(--text-tertiary);opacity:.82;transition:color .15s ease,opacity .15s ease}.shots-table__thumb-empty-label{font-size:.6rem;font-weight:600;color:var(--text-secondary);opacity:.88;line-height:1.2;max-width:5.5rem;transition:color .15s ease,opacity .15s ease}.shots-table__thumb-hit:hover:not(:disabled) .shots-table__thumb-empty-icon{color:var(--text-secondary);opacity:1}.shots-table__thumb-hit:hover:not(:disabled) .shots-table__thumb-empty-label{color:var(--text);opacity:1}.shots-table__thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000006b;color:#fff;font-size:.62rem;font-weight:600;letter-spacing:.02em;opacity:0;transition:opacity .15s ease;pointer-events:none}.shots-table__thumb-hit:hover:not(:disabled) .shots-table__thumb-overlay{opacity:1}.shots-table__th--tc,.shots-table__td--tc{width:calc(13ch + 1.1rem);min-width:calc(13ch + 1.1rem);max-width:calc(13ch + 1.1rem);box-sizing:border-box;padding-left:.48rem;padding-right:.52rem}.shots-table__th--frames,.shots-table__td--frames{width:calc(5ch + .95rem);min-width:calc(5ch + .95rem);max-width:calc(5ch + .95rem);box-sizing:border-box;padding-left:.35rem;padding-right:.35rem;text-align:center;vertical-align:middle}.shots-table__th--frames .shots-table__sort-btn{width:100%;justify-content:center}.shots-table__th--status{width:10.75rem;min-width:10.75rem;max-width:10.75rem}.shots-table__sort-btn{display:inline-flex;align-items:center;gap:.28rem;margin:0;padding:0;border:none;background:none;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;white-space:nowrap;border-radius:6px}.shots-table__sort-btn:hover{color:var(--text-secondary)}.shots-table__sort-dir{font-size:.75em;font-weight:700;color:var(--accent);min-width:.65em}.shots-table__sort-placeholder{min-width:.65em;opacity:0}.shots-table__th--sort-active{color:var(--text-secondary)}.shots-table__th--sort-active .shots-table__sort-btn{color:var(--text)}.shots-table__row{cursor:pointer}.shots-table tbody tr:nth-child(2n){background:#00000005}.shots-table__row:hover{background:#0066cc13}.shots-table tbody tr:nth-child(2n).shots-table__row:hover{background:#0066cc15}.shots-table tbody tr.shots-table__row--selected{background:#0066cc1f}.shots-table tbody tr.shots-table__row--selected:hover{background:#0066cc29}.shots-table__td{padding:.45rem .65rem;border-bottom:.5px solid rgba(0,0,0,.05);vertical-align:middle;color:var(--text-secondary)}.shots-table .shot-thumb--sm{background:linear-gradient(145deg,#eceef2,#f4f5f8);border-color:#0000000d}.flash-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:12000;max-width:min(92vw,22rem);padding:.65rem 1rem;border-radius:12px;font-size:.875rem;font-weight:500;line-height:1.35;text-align:center;color:#fff;background:#1d1d1feb;box-shadow:0 8px 32px #0000003d;border:.5px solid rgba(255,255,255,.08);pointer-events:none}.bulk-preview-import-backdrop{backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);background:#0006}.bulk-preview-import{--bpi-pad-x: 1.5rem;--bpi-gap: 1.5rem;width:100%;max-width:min(96vw,40rem);max-height:min(90vh,860px);overflow:hidden;display:flex;flex-direction:column;padding:0;border-radius:20px;border:.5px solid rgba(0,0,0,.07);box-shadow:0 4px 24px #00000014,0 24px 64px #0000001a}.bulk-preview-import__header{flex-shrink:0;padding:1.2rem var(--bpi-pad-x) 1rem;border-bottom:.5px solid rgba(0,0,0,.06);background:linear-gradient(180deg,#ffffff8c,#fcfcfe33)}.bulk-preview-import__title{margin:0 0 .35rem;font-size:1.2rem;font-weight:650;letter-spacing:-.03em;line-height:1.2;color:var(--text)}.bulk-preview-import__lead{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-secondary)}.bulk-preview-import__hint-secondary{margin:.5rem 0 0;font-size:.78rem;line-height:1.4;color:var(--text-tertiary)}.bulk-preview-import__arrow{opacity:.45;font-weight:500}.bulk-preview-import__scroll{padding:var(--bpi-gap) var(--bpi-pad-x);overflow-y:auto;flex:1;min-height:0}.bulk-preview-import__inline-msg{margin:.5rem 0 0}.bulk-preview-import__err{white-space:pre-wrap;word-break:break-word;margin:.65rem 0 0;padding:.55rem .65rem;border-radius:10px;background:#ff3b300f;border:.5px solid rgba(255,59,48,.18)}.bulk-preview-import__api-banner{white-space:pre-wrap;word-break:break-word;margin:0 0 .85rem;padding:.6rem .7rem;border-radius:10px;font-size:.8125rem;line-height:1.4;background:#ff950014;border:.5px solid rgba(255,149,0,.28);color:var(--text)}.bulk-preview-import__section{margin-top:var(--bpi-gap)}.bulk-preview-import__section:first-child{margin-top:0}.bulk-preview-import__check{display:flex;align-items:flex-start;gap:.55rem;font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;line-height:1.35}.bulk-preview-import__check input{margin-top:.15rem;flex-shrink:0}.bulk-preview-import__missing-block{margin-top:.85rem;padding-top:.85rem;border-top:.5px solid rgba(0,0,0,.04);margin-bottom:.15rem}.bulk-preview-import__missing-label{margin:0 0 .55rem;font-size:.8125rem;color:var(--text-secondary)}.bulk-preview-import__segment{display:inline-flex;border-radius:10px;border:.5px solid rgba(0,0,0,.07);overflow:hidden;background:#ffffffb8}.bulk-preview-import__segment--row{border-radius:8px;border-color:#0000000e;background:#ffffffe0}.bulk-preview-import__segment-btn{margin:0;padding:.45rem .75rem;font:inherit;font-size:.78rem;font-weight:550;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background .15s ease,color .15s ease}.bulk-preview-import__segment-btn--row{padding:.2rem .48rem;font-size:.65625rem;font-weight:500;letter-spacing:.01em}.bulk-preview-import__segment-btn+.bulk-preview-import__segment-btn{border-left:.5px solid rgba(0,0,0,.055)}.bulk-preview-import__segment-btn:hover{background:#0066cc0d;color:var(--text-secondary)}.bulk-preview-import__segment-btn--active{background:#0066cc1c;color:var(--accent);font-weight:600}.bulk-preview-import__segment--row .bulk-preview-import__segment-btn--active{background:#0066cc1f}.bulk-preview-import__badge-row{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center}.bulk-preview-import__badge{display:inline-block;padding:.2rem .45rem;border-radius:6px;font-size:.68rem;font-weight:600;letter-spacing:.02em;line-height:1.25;white-space:nowrap}.bulk-preview-import__badge--muted{background:#0000000f;color:var(--text-secondary)}.bulk-preview-import__badge--neutral{background:#7878801f;color:var(--text-secondary)}.bulk-preview-import__badge--warn{background:#ff950024;color:#b45309}.bulk-preview-import__badge--danger{background:#ff3b301f;color:#c41a0f}.bulk-preview-import__badge--info{background:#0066cc1f;color:var(--accent)}.bulk-preview-import__td-file{font-size:.75rem;max-width:11rem;word-break:break-all}.bulk-preview-import__td-shot{font-size:.78rem;white-space:nowrap}.bulk-preview-import__td-badges{min-width:6.5rem}.bulk-preview-import__td-action{min-width:6.75rem;vertical-align:middle}.bulk-preview-import__section--table{margin-top:1.75rem}.bulk-preview-import__footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.25rem;padding:1.2rem var(--bpi-pad-x) 1.05rem;border-top:.5px solid rgba(0,0,0,.06);background:#ffffffc7}.bulk-preview-import__footer--single{justify-content:flex-start}.bulk-preview-import__footer .btn-secondary{border-color:#00000017;font-weight:550}.bulk-preview-import__footer-btn{min-height:2.35rem;padding-left:1rem;padding-right:1rem;border-radius:11px;font-weight:600}.bulk-preview-import__footer-btn--primary{min-width:auto;padding-left:1.35rem;padding-right:1.35rem}.bulk-preview-import__report-title{margin:0 0 .5rem;font-size:1rem;font-weight:650;letter-spacing:-.02em}.bulk-preview-import__report-summary{margin:0 0 .85rem;line-height:1.45}.bulk-preview-import__error-list{margin:0 0 .75rem;padding-left:1.15rem;font-size:.8125rem;line-height:1.45}.bulk-preview-import__error-item{margin-bottom:.35rem}.bulk-preview-import__error-msg{color:var(--text-secondary)}.bulk-preview-import__drop{margin:0;padding:2.1rem 1.5rem;border:1.5px dashed rgba(0,0,0,.1);border-radius:16px;text-align:center;background:linear-gradient(165deg,#0066cc0f,#ffffff80 55%,#0066cc0a);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.bulk-preview-import__drop--over{border-color:#0066cc6b;box-shadow:0 0 0 3px #0066cc1a;background:linear-gradient(165deg,#0066cc1a,#ffffffa6)}.bulk-preview-import__drop-title{margin:0 0 .35rem;font-weight:600;font-size:.95rem;letter-spacing:-.02em}.bulk-preview-import__table-wrap{overflow-x:auto;max-height:42vh;border:.5px solid rgba(0,0,0,.055);border-radius:12px;margin-top:0;background:#ffffff94}.bulk-preview-import__table{width:100%;border-collapse:collapse;font-size:.8rem}.bulk-preview-import__table th,.bulk-preview-import__table td{padding:.42rem .5rem;text-align:left;border-bottom:.5px solid rgba(0,0,0,.04);vertical-align:middle}.bulk-preview-import__table th:first-child,.bulk-preview-import__table td:first-child{padding-left:0}.bulk-preview-import__table th:last-child,.bulk-preview-import__table td:last-child{padding-right:.15rem}.bulk-preview-import__table th{position:sticky;top:0;background:#fffffff7;z-index:1;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:var(--text-tertiary)}.bulk-preview-import__details{max-height:200px;overflow:auto;font-size:.72rem;background:#0000000a;padding:.65rem;border-radius:8px;margin-bottom:.75rem}.bulk-preview-import__file-input-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none;overflow:hidden}.shots-table__th--shot,.shots-table__td--shot{padding-left:calc(.45rem + .4rem);font-variant-numeric:tabular-nums;vertical-align:middle;box-sizing:border-box}.shots-table__shot-stack{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.26rem;width:fit-content;max-width:min(26rem,40vw);min-width:6.75rem}.shots-table__shot-stack .shots-table__shot-link{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.shots-table__td--frames{font-variant-numeric:tabular-nums}.shots-table__td--status{width:10.75rem;min-width:10.75rem;max-width:10.75rem;box-sizing:border-box;vertical-align:middle}.shots-table__th--ver,.shots-table__td--ver{width:3.35rem;min-width:3.35rem;max-width:3.35rem;box-sizing:border-box;padding-left:.35rem;padding-right:.35rem;text-align:center}.shots-table__th--ver .shots-table__sort-btn{width:100%;justify-content:center}.shots-table__td--ver .shots-table__inline-input,.shots-table__td--ver .shots-table__cell-readonly{max-width:100%;text-align:center}.shots-table__td--ver .mono{display:block;text-align:center}.shots-table__th--vendor,.shots-table__td--vendor{max-width:10rem;min-width:5.25rem;width:auto;box-sizing:border-box;overflow:hidden}.shots-table__td--vendor .shots-table__clip,.shots-table__td--vendor .shots-table__cell-readonly,.shots-table__td--vendor .shots-table__inline-input{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shots-table__td--vendor .shots-table__cell-readonly{display:block}.shots-table__th--links{min-width:7.5rem}.shots-table__th--act{width:72px}.shots-table__td--links{white-space:nowrap}.shots-table__td--act{padding-left:.35rem;padding-right:.35rem}.shots-table__banner{margin:0;padding:.5rem .75rem;border-bottom:.5px solid rgba(255,59,48,.25);background:#ff3b300f}.shots-table__clip{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shots-table__th--task,.shots-table__td--task{width:14rem;max-width:14rem;box-sizing:border-box;vertical-align:top}.shots-table__th--task{vertical-align:middle}.shots-table__td--task .shots-table__clip{display:block;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;word-wrap:break-word;overflow-wrap:break-word;line-height:1.38}.shots-table__shot-link{color:var(--text);font-weight:600;letter-spacing:-.022em;text-decoration:none}.shots-table__shot-link:hover{text-decoration:underline}.shots-table__tc{font-size:.78rem}.shots-table__status-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.shots-table__tag{font-size:.62rem;font-weight:600;padding:.15rem .4rem;border-radius:100px;background:#0000000f;color:var(--text-secondary)}.shots-table__tag--muted{color:var(--text-tertiary)}.shot-link-chips{display:inline-flex;flex-wrap:wrap;gap:.22rem;align-items:center}.shot-link-chips--under-shot{flex-wrap:nowrap;gap:.18rem}.shot-link-chips__chip{font-size:.54rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.18rem .34rem;border-radius:5px;border:.5px solid rgba(0,0,0,.1);background:#0000000a;color:var(--text-tertiary);cursor:default;line-height:1.1;opacity:.38;transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease}.shot-link-chips__chip--on{opacity:1;cursor:pointer}.shot-link-chips__chip--on.shot-link-chips__chip--prm{border-color:#007a5a73;background:#007a5a1f;color:#005f47}.shot-link-chips__chip--on.shot-link-chips__chip--exr{border-color:#583cb473;background:#583cb41f;color:#483096}.shot-link-chips__chip--on.shot-link-chips__chip--hr{border-color:#c86e0073;background:#c86e0024;color:#9b5200}.shot-link-chips__chip--on:hover:not(:disabled){filter:brightness(.97)}.shots-table__inline-input{width:100%;max-width:7.5rem;box-sizing:border-box;font:inherit;font-size:.78rem;padding:.22rem .35rem;border-radius:8px;border:1px solid transparent;background:#ffffff80;color:var(--text-secondary)}.shots-table__inline-input:hover{border-color:#00000014}.shots-table__inline-input:focus{outline:none;border-color:#0066cc73;background:#fff}.shots-table__inline-input--mono{font-variant-numeric:tabular-nums}.shots-table__inline-input--tc{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font-size:.74rem;white-space:nowrap}.shots-table__status-select{font:inherit;font-size:.72rem;font-weight:600;padding:.28rem .4rem;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#ffffffd9;color:var(--text);max-width:9.5rem;cursor:pointer}.shots-table__status-select:focus{outline:none;border-color:#0066cc73}.shots-table__status-select--compact{display:block;width:100%;box-sizing:border-box;font-size:.68rem;font-weight:600;letter-spacing:.01em;text-transform:none;padding:.24rem .48rem .24rem .4rem;max-width:none;min-width:0;border-radius:8px;line-height:1.25;text-align:left}.shots-table__status-select--compact option{padding:.35rem .55rem}.shots-table__task-edit{width:100%;max-width:100%;box-sizing:border-box;min-height:3.2rem;font:inherit;font-size:.78rem;padding:.35rem .45rem;border-radius:10px;border:1px solid rgba(0,102,204,.35);resize:vertical}.shots-table__cell-readonly{display:block;width:100%;margin:0;padding:.12rem .2rem;border:none;background:transparent;font:inherit;font-size:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:6px;line-height:inherit}.shots-table__cell-readonly:hover{background:#0000000b}.shots-table__tc-read{display:block;padding:.1rem 0;white-space:nowrap;overflow:visible;text-overflow:clip}.shots-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:.15rem}.shots-table__icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-tertiary);cursor:pointer;opacity:.75;transition:background .12s ease,opacity .12s ease,color .12s ease}.shots-table__row:hover .shots-table__icon-btn{opacity:1}.shots-table__icon-btn:hover{background:#0066cc1a;color:var(--accent)}.shots-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:10px;margin-bottom:4px;padding:.55rem .75rem;border-radius:14px;border:.5px solid rgba(0,0,0,.06)}.shots-bulk-bar__count{font-size:.82rem;color:var(--text-secondary)}.shots-bulk-bar__actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;flex:1;min-width:0}.shots-bulk-bar__group{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.shots-bulk-bar__group--grow{flex:1;min-width:10rem}.shots-bulk-bar__inline-label{width:100%}.shots-bulk-bar__select,.shots-bulk-bar__input{font:inherit;font-size:.8rem;padding:.32rem .45rem;border-radius:8px;border:1px solid rgba(0,0,0,.1);background:#ffffffe6;color:var(--text)}.shots-bulk-bar__select{min-width:9rem;cursor:pointer}.shots-bulk-bar__input{flex:1;min-width:6rem}.shots-bulk-bar__btn{font:inherit;font-size:.78rem;font-weight:600;padding:.35rem .65rem;border-radius:8px;border:none;background:#0066cc24;color:var(--accent);cursor:pointer;white-space:nowrap}.shots-bulk-bar__btn:disabled{opacity:.45;cursor:not-allowed}.shots-bulk-bar__btn--quiet{background:#0000000f;color:var(--text-secondary)}.shots-bulk-bar__btn--ghost{background:transparent;color:var(--text-tertiary);border:1px solid rgba(0,0,0,.1)}.shots-col-menu{position:relative}.shots-col-menu__trigger{margin-left:.15rem}.shots-col-menu__popover{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:220px;max-height:min(70vh,420px);overflow:auto;padding:.65rem .75rem;box-shadow:0 12px 40px #0000001f}.shots-col-menu__title{margin:0 0 .45rem}.shots-col-menu__list{margin:0;padding:0;list-style:none}.shots-col-menu__row{display:flex;align-items:center;gap:.45rem;padding:.28rem 0;font-size:.82rem;color:var(--text-secondary);cursor:pointer}.shots-col-menu__toggle{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.shot-desk-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:125;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#0f121c6b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.shot-desk-drawer{position:relative;width:min(820px,calc(100vw - 24px));max-height:min(86vh,840px);border-radius:24px;border:.5px solid rgba(0,0,0,.06);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#fdfdfd,#f8f9fb);box-shadow:0 0 0 1px #fffc inset,0 32px 64px #00000024,0 12px 24px #00000014;animation:shot-desk-modal-in .24s cubic-bezier(.22,1,.36,1)}@keyframes shot-desk-modal-in{0%{transform:scale(.97) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.shot-desk-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;padding:1.1rem 1.35rem .85rem;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.05);background:#ffffffa6}.shot-desk-drawer__head-main{min-width:0}.shot-desk-drawer__title{margin:0;font-size:clamp(1.35rem,3.2vw,1.65rem);font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.15}.shot-desk-drawer__sub{margin:.2rem 0 0;font-size:.9rem;font-weight:400;color:var(--text-secondary);letter-spacing:-.01em}.shot-desk-drawer__chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.55rem}.shot-desk-drawer__chip-badge.status-badge{font-size:.68rem;padding:.2rem .5rem}.shot-desk-drawer__chip{font-size:.72rem;font-weight:600;padding:.22rem .55rem;border-radius:999px;background:#0000000b;color:var(--text-secondary);border:1px solid rgba(0,0,0,.06);max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shot-desk-drawer__chip--mono{font-variant-numeric:tabular-nums}.shot-desk-drawer__close{flex-shrink:0;width:40px;height:40px;border:none;border-radius:12px;background:transparent;font-size:1.5rem;font-weight:300;line-height:1;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.shot-desk-drawer__close:hover{background:#0000000d;color:var(--text-secondary)}.shot-desk-drawer__tabs{display:flex;gap:1.25rem;padding:0 1.35rem;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.06);background:#ffffff80}.shot-desk-drawer__tab{padding:.65rem 0 .55rem;border:none;background:none;font:inherit;font-size:.9rem;font-weight:600;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:-.015em;transition:color .15s ease,border-color .15s ease}.shot-desk-drawer__tab:hover{color:var(--text-secondary)}.shot-desk-drawer__tab--on{color:var(--text);border-bottom-color:var(--accent)}.shot-desk-drawer__main{flex:1;min-height:0;display:flex;flex-direction:column}.shot-desk-drawer__scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.1rem 1.35rem .65rem}.shot-desk-drawer__scroll--comments{padding-bottom:1.5rem}.shot-desk-drawer__form{margin:0}.shot-desk-drawer__alert{margin:0 0 1rem;padding:.65rem .85rem;border-radius:12px;font-size:.88rem;line-height:1.35}.shot-desk-drawer__alert--err{background:#ff3b3014;color:#c41a0f;border:1px solid rgba(255,59,48,.2)}.shot-desk-drawer__alert--ok{background:#34c7591a;color:#1e783c;border:1px solid rgba(52,199,89,.22)}.shot-desk-section{margin-bottom:1.15rem}.shot-desk-section:last-of-type{margin-bottom:.35rem}.shot-desk-section--tech .shot-desk-section__title{margin-bottom:.55rem}.shot-desk-section__title{margin:0 0 .6rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.shot-desk-section__stack{display:flex;flex-direction:column;gap:1rem}.shot-desk-section__stack--tight{gap:.65rem}.shot-desk-grid{display:grid;gap:1rem 1.1rem}.shot-desk-grid--main{grid-template-columns:1.2fr 1fr .85fr}@media (max-width: 720px){.shot-desk-grid--main{grid-template-columns:1fr}}.shot-desk-grid--tc{grid-template-columns:1fr 1fr}@media (max-width: 520px){.shot-desk-grid--tc{grid-template-columns:1fr}}.shot-desk-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:0;min-width:0}.shot-desk-field--flush{gap:.5rem}.shot-desk-field__label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6e6e73}.shot-desk-muted{font-weight:500;font-size:.88rem;text-transform:none;letter-spacing:0;color:var(--text-tertiary)}.shot-desk-field__input,.shot-desk-field__textarea{width:100%;box-sizing:border-box;font:inherit;font-size:.94rem;min-height:48px;padding:.55rem .75rem;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:#fff;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.shot-desk-field__textarea{min-height:0;resize:vertical;line-height:1.45}.shot-desk-field__textarea--task{min-height:5.75rem}.shot-desk-field__textarea--notes{min-height:4.5rem;resize:vertical}.shot-desk-field__input:hover,.shot-desk-field__textarea:hover{border-color:#00000024}.shot-desk-field__input:focus,.shot-desk-field__textarea:focus{outline:none;border-color:#0066cc73;box-shadow:0 0 0 3px #0066cc1f}.shot-desk-field__input--status{font-weight:600;cursor:pointer}.shot-desk-field--status[data-status=not_handed_out] .shot-desk-field__input--status{border-color:#38859459;background:#3885940f}.shot-desk-field--status[data-status=in_production] .shot-desk-field__input--status{border-color:#336bc761;background:#336bc712}.shot-desk-field--status[data-status=in_review] .shot-desk-field__input--status{border-color:#7a66b861;background:#7a66b814}.shot-desk-field--status[data-status=approved] .shot-desk-field__input--status{border-color:#42946b66;background:#42946b14}.shot-desk-field--status[data-status=cancelled] .shot-desk-field__input--status{border-color:#0000001a;background:#00000008}.shot-desk-field__input--err{border-color:#ff3b308c}.shot-desk-field__err{font-size:.8rem;color:#ff3b30}.shot-desk-path{display:flex;flex-direction:column;gap:.4rem;margin:0}.shot-desk-path__row{display:flex;align-items:stretch;gap:.5rem;min-width:0}.shot-desk-path__input{flex:1;min-width:0;min-height:44px;padding:.48rem .65rem;border-radius:12px;border:1px solid rgba(0,0,0,.07);background:#ffffffeb;font-size:.82rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.shot-desk-path__input:focus{outline:none;border-color:#0066cc59;box-shadow:0 0 0 2px #0066cc1a}.shot-desk-path__actions{display:flex;flex-shrink:0;gap:.35rem}.shot-desk-path__btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;padding:0 .55rem;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff;font:inherit;font-size:.72rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,border-color .12s ease}.shot-desk-path__btn:hover:not(:disabled){border-color:#0066cc40;background:#0066cc0d}.shot-desk-path__btn:disabled{opacity:.35;cursor:not-allowed}.shot-desk-path__btn--link{text-decoration:none;font-size:1rem;min-width:2.5rem;color:var(--accent)}.shot-desk-drawer__footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.35rem 1rem;border-top:1px solid rgba(0,0,0,.06);background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.shot-desk-drawer__footer-left{min-width:0}.shot-desk-drawer__dirty-hint{font-size:.8rem;color:var(--text-tertiary)}.shot-desk-drawer__footer-actions{display:flex;justify-content:flex-end;gap:.65rem;flex-shrink:0}.shot-desk-drawer__btn{padding:.62rem 1.25rem;border-radius:14px;font:inherit;font-size:.94rem;font-weight:600;cursor:pointer;border:none;letter-spacing:-.02em;transition:background .15s ease,opacity .15s ease,transform .1s ease}.shot-desk-drawer__btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid rgba(0,0,0,.1)}.shot-desk-drawer__btn--ghost:hover{background:#0000000a}.shot-desk-drawer__btn--primary{background:var(--accent);color:#fff;min-width:7.5rem;box-shadow:0 1px 2px #0066cc40}.shot-desk-drawer__btn--primary:hover:not(:disabled){filter:brightness(1.05)}.shot-desk-drawer__btn--primary:active:not(:disabled){transform:scale(.98)}.shot-desk-drawer__btn--primary:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.shot-desk-comments__loading{margin:0 0 1rem}.shot-desk-comments__list{list-style:none;margin:0 0 1.25rem;padding:0}.shot-desk-comments__item{padding:.85rem 0;border-bottom:1px solid rgba(0,0,0,.05)}.shot-desk-comments__meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:var(--text-tertiary);margin-bottom:.4rem}.shot-desk-comments__text{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.shot-desk-comments__empty{margin:0 0 1.25rem}.shot-desk-comments__send{margin-top:.5rem}.project-entry-empty{padding-left:0;padding-right:0}.chrome__catalog-title{font-size:1.05rem;font-weight:600;letter-spacing:-.025em;color:var(--text);flex:1;text-align:center}@media (max-width: 640px){.chrome__catalog-title{text-align:left;flex:1 1 100%;order:3}}.chrome__project-context{flex:1;min-width:0;max-width:min(46vw,22rem);margin:0 auto;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chrome__project-meta{font-size:.65rem;font-weight:500;line-height:1.3;letter-spacing:.01em;color:#6e6e73d1}.chrome__project-meta--stats{font-size:.68rem;letter-spacing:.025em;color:#646469e0}.chrome__project-meta--reel{max-width:min(52vw,20rem);-webkit-line-clamp:1}@media (max-width: 720px){.chrome__project-context{flex:1 1 100%;order:2;max-width:none;margin:0;text-align:left;-webkit-line-clamp:3}.chrome__project-meta{font-size:.62rem}}.hub-page--panel{padding-left:0;padding-right:0}.hub-panel-header{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}@media (min-width: 720px){.hub-panel-header{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1.5rem}}.hub-panel-title{font-size:clamp(1.65rem,2.5vw,2.15rem);font-weight:600;letter-spacing:-.035em;line-height:1.12;margin:0}.hub-panel-subtitle{margin:.5rem 0 0;font-size:.95rem;line-height:1.45}.hub-panel-header__tools{display:flex;flex-direction:column;gap:.65rem;width:100%;max-width:22rem}@media (min-width: 720px){.hub-panel-header__tools{flex-direction:row;align-items:center;max-width:none;width:auto}}.hub-search input{width:100%;min-width:min(100%,220px);padding:.55rem .85rem;border-radius:12px;border:.5px solid var(--separator);font:inherit;font-size:.92rem;background:#ffffffd9}.btn-add-entity{flex-shrink:0;padding:.55rem 1.1rem;border-radius:12px;border:none;background:var(--accent);color:#fff;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;letter-spacing:-.01em;box-shadow:0 2px 12px #0066cc47;white-space:nowrap}.btn-add-entity:hover{opacity:.95}.btn-add-entity:active{transform:scale(.98)}.hub-segments{display:inline-flex;flex-wrap:wrap;padding:4px;gap:2px;border-radius:12px;background:#0000000b;border:.5px solid rgba(0,0,0,.06);margin-bottom:1.5rem}.hub-seg{padding:.45rem 1rem;border:none;border-radius:9px;background:transparent;font:inherit;font-size:.84rem;font-weight:600;color:var(--text-secondary);cursor:pointer;letter-spacing:-.015em}.hub-seg:hover{color:var(--text)}.hub-seg--on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000012}.hub-block{margin-bottom:2rem}.hub-block__label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);margin:0 0 .65rem .15rem}.hub-unit-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.hub-unit-row{margin:0}.hub-unit-card{display:flex;align-items:stretch;gap:0;overflow:visible}.hub-unit-card__main{flex:1;min-width:0;padding:1rem 1.1rem;color:inherit;text-decoration:none;display:block}.hub-unit-card__main:hover{text-decoration:none}.hub-unit-card__title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.hub-unit-card__title{font-size:1.08rem;font-weight:600;letter-spacing:-.025em}.hub-unit-card__badge{font-size:.68rem;font-weight:600;padding:.2rem .5rem;border-radius:100px;background:#0000000f;color:var(--text-secondary);border:.5px solid rgba(0,0,0,.06)}.hub-unit-card__meta{margin-top:.35rem;font-size:.88rem;color:var(--text-secondary)}.hub-unit-card__dot{margin:0 .35rem;color:var(--text-tertiary)}.hub-unit-card__foot{margin-top:.5rem}.hub-unit-card__actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.35rem;padding:.65rem .75rem;border-left:.5px solid var(--separator);flex-shrink:0;background:#00000005}@media (max-width: 560px){.hub-unit-card{flex-direction:column}.hub-unit-card__actions{flex-direction:row;flex-wrap:wrap;border-left:none;border-top:.5px solid var(--separator);justify-content:flex-start}}.hub-unit-card__quick{font-size:.78rem;font-weight:600;padding:.4rem .65rem;border-radius:8px;text-align:center;text-decoration:none;color:var(--text-secondary);border:.5px solid rgba(0,0,0,.08);background:#ffffffb3}.hub-unit-card__quick:hover{text-decoration:none;color:var(--text);background:#fff}.hub-unit-card__quick--primary{color:#fff;background:var(--accent);border-color:transparent}.hub-unit-card__quick--primary:hover{color:#fff;opacity:.94}.hub-unit-card__menu-wrap{position:relative;display:flex;justify-content:center}.hub-empty-inline{margin:.5rem 0 0 .15rem}.hub-empty-block{padding:1rem 1.15rem}.catalog-page{padding-left:0;padding-right:0;max-width:100%}.catalog-hero--minimal{margin-bottom:24px}.catalog-hero__title{font-size:clamp(1.5rem,2.2vw,1.625rem);font-weight:600;letter-spacing:-.034em;margin:0;line-height:1.154;color:var(--text)}.catalog-load-err{margin:0 0 1rem;padding:.65rem 1rem;border-radius:10px;background:#ff3b3014;border:.5px solid rgba(255,59,48,.2)}.catalog-project-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;flex:1 1 auto;min-height:0}.catalog-project-card .project-card__title.catalog-project-card__title{font-size:clamp(1.22rem,1.65vw,1.38rem);font-weight:580;letter-spacing:-.032em;line-height:1.08;min-width:0;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#1d1d1ff0}.catalog-project-card .project-phase-pill{flex-shrink:0;align-self:flex-start;max-width:42%;text-align:right;font-size:.625rem;font-weight:600;padding:.2rem .42rem;border-radius:5px;letter-spacing:.03em;line-height:1.2;border:1px solid transparent}.project-phase-pill--post_production{color:#1c3a30eb;background:#1c3a300e;border-color:#1c3a3021}.project-phase-pill--production{color:#18345ceb;background:#18345c0e;border-color:#18345c1f}.project-phase-pill--pre_production{color:#583414e6;background:#78481c11;border-color:#78481c26}.project-phase-pill--project_development{color:#2d2d32d9;background:#2d2d320b;border-color:#2d2d321a}.project-phase-pill--finalization{color:#302a3ee6;background:#3e34520e;border-color:#3e34521f}.project-phase-pill--completed{color:#2a3a34e0;background:#2a3a340e;border-color:#2a3a341f}.project-phase-pill--archived{color:#48484ec7;background:#48484e0d;border-color:#48484e1c}.catalog-project-card__bottom{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-top:14px;padding-top:2px}.catalog-project-card__shots-ready{font-size:.8125rem;font-weight:500;letter-spacing:.01em;line-height:1.25;color:#37373ce0}.catalog-project-card__updated{margin-left:auto;font-size:.75rem;font-weight:500;letter-spacing:.02em;line-height:1.25;color:#6e6e739e;white-space:nowrap}.catalog-project-card--new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:158px;height:100%;margin:0;padding:24px;border-radius:24px;border:1px dashed rgba(72,72,78,.22);background:#ffffff94;box-shadow:inset 0 0 0 .5px #ffffffa6;text-align:center;cursor:pointer;font:inherit;color:#1d1d1f99;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease}.catalog-project-card--new:hover{color:#1d1d1fb8;background:#fffffff0;border-color:#48484e4d;box-shadow:inset 0 0 0 .5px #fffc,0 2px 14px #0000000d;transform:translateY(-1px)}.catalog-project-card--new:focus-visible{outline:2px solid rgba(0,102,204,.45);outline-offset:2px}.catalog-project-card--new__plus{display:block;font-size:1.38rem;font-weight:500;line-height:1;color:inherit}.catalog-project-card--new__title{font-size:1.14rem;font-weight:600;letter-spacing:-.026em;line-height:1.28;color:inherit}.shot-workspace{max-width:1120px;margin:0 auto;padding:.75rem 24px 2.75rem;box-sizing:border-box}@media (min-width: 1200px){.shot-workspace{padding-left:40px;padding-right:40px}}.shot-workspace__header{margin-bottom:1.25rem}.shot-workspace__back{display:inline-block;font-size:.8125rem;font-weight:500;color:#6e6e73eb;text-decoration:none;margin-bottom:.65rem;letter-spacing:.01em}.shot-workspace__back:hover{color:var(--accent);text-decoration:none}.shot-workspace__header-bar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1.25rem}.shot-workspace__header-main{min-width:0;flex:1 1 auto}.shot-workspace__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.shot-workspace__title{margin:0;font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:620;letter-spacing:-.03em;line-height:1.12;color:#1d1d1ff5}.shot-workspace__meta-line{margin:.35rem 0 0;font-size:.8125rem;font-weight:500;letter-spacing:.02em;color:#6e6e73e0;line-height:1.35}.shot-workspace__edit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 1rem;border-radius:12px;border:1px solid rgba(0,102,204,.32);background:#ffffffe6;color:var(--accent);font-size:.8125rem;font-weight:600;text-decoration:none!important;letter-spacing:-.012em;transition:background .15s ease,border-color .15s ease}.shot-workspace__edit:hover{background:#0066cc0f;border-color:#0066cc73;text-decoration:none}.shot-workspace__main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:1.1rem 1.25rem;align-items:start;margin-bottom:1.25rem}@media (max-width: 960px){.shot-workspace__main{grid-template-columns:1fr}}.shot-surface{border-radius:20px;border:.5px solid rgba(0,0,0,.07);background:#ffffffb8;box-shadow:0 1px #fffc inset}.shot-preview-card{padding:1rem 1rem .85rem}.shot-preview-card__frame{position:relative;width:100%;aspect-ratio:16 / 9;max-height:min(62vh,520px);margin:0 auto;border-radius:16px;background:#0000000a;overflow:hidden;display:flex;align-items:center;justify-content:center}.shot-preview-card__media{width:100%;height:100%;object-fit:contain;display:block}.shot-preview-card__placeholder{font-size:.875rem;font-weight:500;padding:1.5rem;text-align:center}.shot-preview-card__prm-note{margin:.5rem 0 0;padding:0 .15rem;line-height:1.35}.shot-preview-card__actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.75rem;padding:0 .15rem .35rem}.shot-preview-card__link{font-size:.8125rem;font-weight:600;color:var(--accent);text-decoration:none}.shot-preview-card__link:hover{text-decoration:underline}.shot-comments-card{display:flex;flex-direction:column;max-height:min(72vh,640px);min-height:280px;padding:1rem}.shot-comments-card__head{display:flex;align-items:center;gap:.45rem;margin-bottom:.65rem;flex-shrink:0}.shot-comments-card__title{margin:0;font-size:.9375rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.shot-comments-card__count{font-size:.75rem;font-weight:600;color:#6e6e73bf;min-width:1.25rem;height:1.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#0000000d}.shot-comments-card__err{margin:0 0 .5rem}.shot-comments-card__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.25rem;margin-bottom:.75rem}.shot-comments-card__empty{margin:.5rem 0;font-size:.8125rem}.shot-comment-item{padding:.65rem 0;border-bottom:.5px solid rgba(0,0,0,.06)}.shot-comment-item:last-child{border-bottom:none}.shot-comment-item__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin-bottom:.28rem}.shot-comment-item__author{font-size:.75rem;font-weight:600;color:#2d2d32e6}.shot-comment-item__time{font-size:.6875rem;font-weight:500;color:#6e6e73a6}.shot-comment-item__text{margin:0;font-size:.8125rem;line-height:1.45;color:#2d2d32eb;white-space:pre-wrap}.shot-comments-card__composer{flex-shrink:0;padding-top:.35rem;border-top:.5px solid rgba(0,0,0,.07)}.shot-comments-card__textarea{width:100%;box-sizing:border-box;margin-bottom:.5rem;padding:.55rem .65rem;border-radius:12px;border:1px solid rgba(0,0,0,.1);font:inherit;font-size:.8125rem;line-height:1.4;resize:vertical;min-height:4.5rem;background:#fffffff2}.shot-comments-card__textarea:focus{outline:none;border-color:#06c6;box-shadow:0 0 0 3px #0066cc1a}.shot-comments-card__textarea:disabled{opacity:.55}.shot-comments-card__post-err{margin:0 0 .35rem}.shot-comments-card__send{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 1.1rem;border-radius:11px;border:none;background:var(--accent);color:#fff;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.shot-comments-card__send:hover:not(:disabled){opacity:.92}.shot-comments-card__send:disabled{opacity:.55;cursor:not-allowed}.shot-workspace__details{padding:1.15rem 1.15rem 1.25rem}.shot-workspace__details-title{margin:0 0 1rem;font-size:.9375rem;font-weight:600;letter-spacing:-.018em;color:var(--text)}.shot-meta-grid-pro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem 1.25rem;margin:0 0 1.1rem}@media (max-width: 720px){.shot-meta-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 420px){.shot-meta-grid-pro{grid-template-columns:1fr}}.shot-meta-grid-pro dt{margin:0;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6e6e73b8}.shot-meta-grid-pro dd{margin:.2rem 0 0;font-size:.8125rem;font-weight:500;color:#2d2d32eb;line-height:1.35}.shot-detail-block{margin-bottom:1rem}.shot-detail-block__label{margin:0 0 .35rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6e6e73b8}.shot-detail-block__body{margin:0;font-size:.875rem;line-height:1.5;color:#2d2d32eb;white-space:pre-wrap}.shot-path-stack{display:flex;flex-direction:column;gap:.85rem}.shot-path-block__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.28rem}.shot-path-block__label{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6e6e73b8}.shot-path-block__copy{flex-shrink:0;padding:.2rem .45rem;border-radius:8px;border:.5px solid rgba(0,0,0,.1);background:#ffffffd9;font:inherit;font-size:.6875rem;font-weight:600;color:#37373cd9;cursor:pointer}.shot-path-block__copy:hover{border-color:#00000024;color:var(--text)}.shot-path-block__value{display:block;margin:0;padding:.45rem .55rem;border-radius:10px;background:#00000009;border:.5px solid rgba(0,0,0,.06);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem;line-height:1.45;word-break:break-all;color:#37373ce0}.shot-editor-page{max-width:920px;margin:0 auto;padding:0 20px 2.5rem;box-sizing:border-box}@media (min-width: 1100px){.shot-editor-page{padding-left:32px;padding-right:32px}}.shot-editor-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem 1rem;margin:0 -20px 1rem;padding:.55rem 20px;position:sticky;top:0;z-index:40;background:#f5f5f7e6;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:.5px solid rgba(0,0,0,.08);box-sizing:border-box}@media (min-width: 1100px){.shot-editor-toolbar{margin-left:-32px;margin-right:-32px;padding-left:32px;padding-right:32px}}.shot-editor-toolbar__left{justify-self:start;min-width:0}.shot-editor-toolbar__title{font-size:.9375rem;font-weight:600;letter-spacing:-.02em;color:var(--text);text-align:center;white-space:nowrap}.shot-editor-toolbar__right{justify-self:end}.shot-editor-toolbar__link{display:inline-flex;align-items:center;min-height:40px;padding:0 .35rem;font-size:.875rem;font-weight:600;color:var(--accent);text-decoration:none;background:none;border:none;font-family:inherit;cursor:pointer}.shot-editor-toolbar__link:hover{opacity:.85;text-decoration:none}.shot-editor-toolbar__link--btn{color:var(--accent)}.shot-editor-toolbar__save{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 1rem;border-radius:11px;border:none;background:var(--accent);color:#fff;font:inherit;font-size:.8125rem;font-weight:600;letter-spacing:-.012em;cursor:pointer;box-shadow:0 1px 2px #06c3}.shot-editor-toolbar__save:hover:not(:disabled){opacity:.92}.shot-editor-toolbar__save:disabled{opacity:.45;cursor:not-allowed}.shot-editor-form{display:flex;flex-direction:column;gap:1rem}.shot-editor-form__error{margin:0;padding:.65rem .85rem;border-radius:12px;background:#ff3b3014;border:.5px solid rgba(255,59,48,.2);color:#c41e16;font-size:.875rem}.shot-editor-form__kbd-hint{margin:.25rem 0 0;font-size:.75rem}.shot-editor-form__kbd-hint kbd{display:inline-block;padding:.08rem .28rem;margin:0 .06rem;border-radius:5px;border:.5px solid rgba(0,0,0,.12);background:#0000000a;font-size:.68rem;font-family:inherit}.shot-editor-surface{border-radius:18px;border:.5px solid rgba(0,0,0,.07);background:#ffffffc7;box-shadow:0 1px #ffffffbf inset}.shot-editor-hero{padding:1.1rem 1.25rem}.shot-editor-hero__id{margin:0;font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:620;letter-spacing:-.03em;line-height:1.15;color:#1d1d1ff5}.shot-editor-hero__meta{margin:.35rem 0 0;font-size:.8125rem;font-weight:500;letter-spacing:.015em;color:#6e6e73e6;line-height:1.35}.shot-editor-hero__dot{opacity:.65}.shot-editor-block{padding:1.35rem 1.25rem 1.4rem}.shot-editor-block__title{margin:0 0 1rem;font-size:.9375rem;font-weight:600;letter-spacing:-.018em;color:var(--text)}.shot-editor-block__sub{margin:-.65rem 0 1rem;line-height:1.4}.shot-editor-block__grid{display:grid;gap:1rem 1.35rem}.shot-editor-block__grid--2{grid-template-columns:1fr 1fr}.shot-editor-block__grid--timing{grid-template-columns:repeat(3,minmax(0,1fr))}.shot-editor-block__grid--materials{grid-template-columns:1fr;gap:1rem}.shot-editor-materials-top{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.35rem;align-items:start}@media (max-width: 720px){.shot-editor-block__grid--2,.shot-editor-block__grid--timing,.shot-editor-materials-top{grid-template-columns:1fr}}.shot-editor-stack{display:flex;flex-direction:column;gap:1rem}.shot-editor-field{display:flex;flex-direction:column;gap:.35rem;margin:0}.shot-editor-field--row{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem}.shot-editor-field__rowhead{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.shot-editor-field__label{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6e6e73c7}.shot-editor-field__input,.shot-editor-field__textarea,.shot-editor-field__select{width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(0,0,0,.1);background:#fffffff2;font:inherit;font-size:.875rem;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.shot-editor-field__input{min-height:46px;padding:0 12px}.shot-editor-field__input--mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.shot-editor-field__input:focus,.shot-editor-field__textarea:focus,.shot-editor-field__select:focus{outline:none;border-color:#0066cc73;box-shadow:0 0 0 3px #0066cc1a}.shot-editor-field__input--error{border-color:#ff3b308c;box-shadow:0 0 0 3px #ff3b301f}.shot-editor-field__textarea{min-height:96px;padding:10px 12px;line-height:1.45;resize:vertical}.shot-editor-field__select{min-height:46px;padding:0 10px;cursor:pointer}.shot-editor-field__readonly{min-height:46px;display:flex;align-items:center;padding:0 12px;border-radius:12px;border:1px dashed rgba(0,0,0,.1);background:#00000006;font-size:.875rem;font-weight:500;color:#37373ce0}.shot-editor-field__hint{font-size:.72rem;font-weight:500;color:#6e6e73bf;line-height:1.35}.shot-editor-field__err{font-size:.75rem;font-weight:500;color:#ff3b30}.shot-editor-copy-btn{flex-shrink:0;padding:.2rem .45rem;border-radius:8px;border:.5px solid rgba(0,0,0,.1);background:#ffffffe6;font:inherit;font-size:.6875rem;font-weight:600;color:#37373cd9;cursor:pointer}.shot-editor-copy-btn:hover{border-color:#00000024;color:var(--text)}.shot-status-chips{display:flex;flex-wrap:wrap;gap:.45rem}.shot-status-chips__item{padding:.35rem .65rem;border-radius:100px;border:1px solid rgba(0,0,0,.1);background:#ffffffd9;font:inherit;font-size:.75rem;font-weight:600;letter-spacing:-.01em;color:#37373ce0;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.shot-status-chips__item:hover{border-color:#00000024;background:#fff}.shot-status-chips__item--on{border-color:#0066cc6b;background:#0066cc1a;color:var(--accent)}.shot-editor-inline-preview{margin:-.25rem 0 0;border-radius:14px;overflow:hidden;border:.5px solid rgba(0,0,0,.08);background:#0000000a;max-height:160px;display:flex;align-items:center;justify-content:center}.shot-editor-inline-preview__media{max-width:100%;max-height:160px;display:block;object-fit:contain}.shot-editor-details{padding:0;overflow:hidden}.shot-editor-details__summary{list-style:none;cursor:pointer;padding:1.1rem 1.25rem;font-size:.9375rem;font-weight:600;letter-spacing:-.018em;color:var(--text);-webkit-user-select:none;user-select:none}.shot-editor-details__summary::-webkit-details-marker{display:none}.shot-editor-details__summary:after{content:"▾";float:right;font-size:.75rem;opacity:.45;margin-top:.15rem;display:inline-block;transition:transform .15s ease}.shot-editor-details[open] .shot-editor-details__summary:after{transform:rotate(-180deg)}.shot-editor-details__body{padding:0 1.25rem 1.35rem;display:flex;flex-direction:column;gap:1rem;border-top:.5px solid rgba(0,0,0,.06)}
