*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f5f5f7;--color-white: #ffffff;--color-sidebar-bg: #ffffff;--color-sidebar-text: #374151;--color-sidebar-active: #111827;--color-sidebar-hover: #f3f4f6;--color-primary: #4361ee;--color-primary-hover: #3a56d4;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--color-text: #1e1e2d;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--sidebar-width: 260px;--topbar-height: 0px;--border-radius: 8px;--border-radius-sm: 6px;--border-radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 2px 8px rgba(0,0,0,.06);--shadow-lg: 0 4px 16px rgba(0,0,0,.08)}html,body{height:100%;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}#root{height:100%}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;height:100vh;overflow:hidden}.app-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-sidebar-bg);color:var(--color-sidebar-text);display:flex;flex-direction:column;overflow-y:auto;z-index:100;border-right:1px solid var(--color-border)}.app-main{flex:1;overflow-y:auto;background:var(--color-bg)}.app-content{padding:var(--space-8)}.sidebar-header{padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border);display:block}.sidebar-logo{width:100%;flex-shrink:0;object-fit:contain}.sidebar-org-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.workspace-select-button{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-white);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-sm);text-align:left}.workspace-select-button:hover{border-color:#cbd5e1;background:#fafafa}.workspace-select-mark,.workspace-select-logo{width:42px;height:42px;border-radius:12px;flex:0 0 42px}.workspace-select-logo{object-fit:cover}.workspace-select-mark{display:inline-flex;align-items:center;justify-content:center;background:#fee2e2;color:#e60012}.workspace-select-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.workspace-select-text strong,.workspace-select-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-select-text strong{font-size:var(--font-size-sm)}.workspace-select-text small{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.workspace-select-chevron{color:var(--color-text-muted);font-size:16px}.sidebar-nav{padding:var(--space-3) var(--space-3);flex:1}.sidebar-section-label{font-size:var(--font-size-xs);font-weight:500;text-transform:none;letter-spacing:0;color:var(--color-text-muted);padding:var(--space-5) var(--space-3) var(--space-2)}.sidebar-link{display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-4);font-size:var(--font-size-md);color:var(--color-sidebar-text);text-decoration:none;border-radius:var(--border-radius);transition:all .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-weight:400;line-height:1.4}.sidebar-link-icon{width:20px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#e60012}.sidebar-link:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-active);text-decoration:none}.sidebar-link.active{background:var(--color-sidebar-hover);color:var(--color-sidebar-active);font-weight:600}.sidebar-link-chevron{margin-left:auto;font-size:12px;color:var(--color-text-muted);transition:transform .15s}.sidebar-link-chevron.expanded{transform:rotate(180deg)}.sidebar-indent{padding-left:var(--space-6)}.sidebar-create-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:calc(100% - var(--space-3) * 2);margin:var(--space-3) var(--space-3) 0;padding:8px;border:1px solid var(--color-border);border-radius:99px;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .15s}.sidebar-create-btn.compact{width:calc(100% - var(--space-4) * 2);margin:var(--space-2) var(--space-4) var(--space-3);padding:7px 10px;border-radius:var(--border-radius-sm);background:#fff5f5;border-color:#fecaca;color:#ef4444;font-size:var(--font-size-sm);box-shadow:none}.sidebar-create-btn:hover{background:var(--color-sidebar-hover);border-color:var(--color-text-muted)}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--color-border)}.sidebar-footer .sidebar-link{font-size:var(--font-size-sm);padding:8px var(--space-4);color:var(--color-text-muted)}.sidebar-footer .sidebar-link:hover{color:var(--color-sidebar-active)}.sidebar-project-list{max-height:220px;overflow-y:auto;padding:0 var(--space-1)}.sidebar-project-item{display:flex;align-items:center;gap:var(--space-2);padding:7px var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:all .15s;border-radius:var(--border-radius-sm)}.sidebar-project-thumb{width:24px;height:24px;border-radius:6px;object-fit:cover;flex:0 0 24px}.sidebar-project-thumb.fallback{display:inline-flex;align-items:center;justify-content:center;background:#fee2e2;color:#ef4444;font-size:9px;font-weight:800}.sidebar-project-item>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-project-item:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-active);text-decoration:none}.sidebar-project-item.active{background:var(--color-sidebar-hover);color:var(--color-sidebar-active);font-weight:600}.sidebar-project-mark{min-width:0}.auth-loading{min-height:100vh;display:grid;place-items:center}.login-splash{min-height:100vh;background:#f5f5f7;display:grid;place-items:center;padding:var(--space-8)}.login-splash-panel{width:min(460px,100%);text-align:left}.login-splash-logo{width:280px;max-width:100%;margin-bottom:var(--space-8)}.login-splash h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-3)}.login-splash p{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:var(--space-6)}.login-splash-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.person-cell{display:flex;align-items:center;gap:var(--space-3)}.person-cell-name{font-weight:600}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 34px}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#e5e7eb;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:700}.project-thumb{width:44px;height:32px;border-radius:var(--border-radius-sm);object-fit:cover;flex:0 0 44px}.project-thumb-fallback{display:inline-flex;align-items:center;justify-content:center;background:#e5e7eb;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:700}.resource-list-thumb{width:52px;height:36px;border-radius:6px;object-fit:cover;display:inline-block;vertical-align:middle;background:#eef2f7;border:1px solid #dbe3ef}.resource-list-thumb-empty{position:relative}.task-detail-edit{display:grid;gap:14px}.task-detail-title-input{font-size:20px;font-weight:900}.task-detail-current-badges{display:flex;gap:8px;flex-wrap:wrap;padding-top:2px}.task-comments-title{margin:8px 0 4px}.favorite-star{width:28px;height:28px;border:0;background:transparent;color:var(--color-text-muted);border-radius:50%;cursor:pointer;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;transition:color .15s,background .15s}.favorite-star:hover{background:var(--color-border-light);color:var(--color-warning)}.favorite-star.active{color:var(--color-warning)}.production-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:18px}.production-overview-stats button{min-height:84px;display:grid;align-content:center;gap:4px;padding:14px 18px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.production-overview-stats button:hover,.production-overview-stats button.active{border-color:var(--color-primary);background:#fff5f6;box-shadow:inset 3px 0 0 var(--color-primary)}.production-overview-stats strong{font-size:24px;line-height:1}.production-overview-stats span{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:700}.production-list-toolbar{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);align-items:end;gap:14px 20px;margin-bottom:18px}.production-list-toolbar .search-input{width:100%;min-height:44px}.production-list-toolbar .tag-filter-control{grid-column:1 / -1;min-width:0}.production-list-card{padding:0;overflow:hidden}.production-list-actions{display:flex;gap:6px;flex-wrap:wrap}.project-overview-tags{margin:-8px 0 16px}.public-plan-page{min-height:100vh;background:#f6f7fb;color:#111827;padding:16px}.public-plan-shell{width:min(100%,1080px);margin:0 auto}.public-plan-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.public-plan-header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.public-plan-logo{width:190px;max-width:62vw;height:auto}.public-plan-updated,.public-plan-footer{color:#64748b;font-size:13px;font-weight:700}.public-plan-draft-badge,.public-plan-hero-status{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;font-size:12px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:0}.public-plan-draft-badge{padding:8px 11px;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.public-plan-hero-status{position:relative;z-index:1;margin-bottom:10px;padding:9px 12px;color:#fff;background:#e60012eb}.public-plan-hero{position:relative;overflow:hidden;min-height:270px;border-radius:8px;background:linear-gradient(135deg,#111827,#273449);color:#fff;box-shadow:0 20px 60px #0f172a2e;margin-bottom:14px}.public-plan-project-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.46}.public-plan-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a1a,#0f172ad1)}.public-plan-hero-copy{position:absolute;inset:auto 0 0;z-index:1;padding:24px}.public-plan-kicker{color:#fecdd3;font-size:13px;font-weight:800;text-transform:uppercase;margin-bottom:8px}.public-plan-hero h1{font-size:34px;line-height:1.05;margin:0 0 10px;letter-spacing:0}.public-plan-hero p{font-size:18px;margin:0 0 10px;color:#fff;font-weight:800}.public-plan-hero span{display:inline-flex;max-width:100%;color:#dbeafe;font-weight:700}.public-plan-highlights{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}.public-plan-highlight,.public-plan-section,.public-plan-map-link,.public-plan-error{background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 12px 36px #0f172a0f}.public-plan-highlight{padding:18px}.public-plan-highlight span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;margin-bottom:4px}.public-plan-highlight strong{display:block;color:#111827;font-size:24px;line-height:1.15}.public-plan-highlight p{color:#526179;font-size:14px;margin-top:6px}.public-plan-map-link{display:flex;justify-content:center;padding:14px 16px;color:#e60012;font-weight:800;margin-bottom:14px}.public-plan-section{padding:18px;margin-bottom:14px}.public-plan-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.public-plan-section-header h2{font-size:20px;line-height:1.2;letter-spacing:0}.public-plan-section-header span{min-width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#e60012;background:#fff1f2;font-weight:900}.public-plan-timeline{display:grid;gap:10px}.public-plan-timeline-item{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f7}.public-plan-timeline-item:last-child{border-bottom:0}.public-plan-timeline-item time{color:#e60012;font-weight:900;font-size:14px}.public-plan-timeline-item strong,.public-plan-person strong,.public-plan-resource-list strong,.public-plan-notes strong{display:block;color:#111827;font-weight:900;overflow-wrap:anywhere}.public-plan-timeline-item p,.public-plan-person p,.public-plan-resource-list p,.public-plan-notes p,.public-plan-empty{color:#64748b;margin-top:3px;overflow-wrap:anywhere}.public-plan-departments{display:grid;gap:16px}.public-plan-department h3{color:#526179;font-size:13px;text-transform:uppercase;margin-bottom:8px;letter-spacing:0}.public-plan-person-list,.public-plan-resource-list,.public-plan-notes{display:grid;gap:10px}.public-plan-person{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fbfcff}.public-plan-person img,.public-plan-person span{width:44px;height:44px;border-radius:999px}.public-plan-person img{object-fit:cover}.public-plan-person span{display:inline-flex;align-items:center;justify-content:center;background:#fee2e2;color:#e60012;font-weight:900}.public-plan-person small,.public-plan-resource-list small{display:block;color:#526179;margin-top:6px;overflow-wrap:anywhere}.public-plan-notes article,.public-plan-resource-list article{padding:12px;border:1px solid #edf1f7;border-radius:8px;background:#fff}.public-plan-contact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.public-plan-contact-links a{color:#e60012;font-weight:800}.public-plan-grid{display:grid;gap:14px}.public-plan-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 2px 26px}.public-plan-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:16px;text-align:center}.public-plan-loading img{width:220px}.public-plan-error{margin-top:26px;padding:26px}.public-plan-error h1{margin-bottom:8px;letter-spacing:0}.public-plan-error p{color:#64748b}@media(min-width:720px){.public-plan-page{padding:28px}.public-plan-highlights{grid-template-columns:160px 160px 1fr}.public-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.public-plan-hero{min-height:340px}.public-plan-hero-copy{padding:34px}.public-plan-hero h1{font-size:48px;max-width:780px}}.image-upload-field{display:grid;gap:var(--space-2)}.image-upload-row{display:flex;align-items:center;gap:var(--space-3)}.image-upload-preview{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 56px;background:#e5e7eb;border:1px solid var(--color-border)}.image-upload-preview.project{width:96px;height:56px;border-radius:var(--border-radius-sm)}.image-upload-empty{display:inline-block}.image-upload-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.call-sheet-cover-fallback{display:grid;grid-template-columns:96px 1fr;gap:10px 12px;align-items:center;padding:12px;border:1px solid #dbe3ef;border-radius:8px;background:#fbfcff;margin:-4px 0 16px}.call-sheet-cover-fallback span{grid-column:1 / -1;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.call-sheet-cover-fallback img{width:96px;height:56px;object-fit:cover;border-radius:6px;border:1px solid #dbe3ef}.call-sheet-cover-fallback p{color:#64748b;font-size:13px;margin:0}.project-hero-image{margin-bottom:var(--space-5);border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--color-border);background:var(--color-white);height:220px}.project-hero-image img{width:100%;height:100%;object-fit:cover}.settings-grid,.messages-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);gap:var(--space-4);align-items:start}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toggle-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text)}.message-log{display:grid;gap:var(--space-2)}.message-log-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light)}.message-log-title{font-weight:600}.chat-shell{display:grid;grid-template-columns:minmax(340px,380px) minmax(0,1fr);gap:14px;min-height:0;flex:1}.chat-page{height:calc(100dvh - 82px);min-height:620px;display:flex;flex-direction:column}.chat-thread-list,.chat-panel{min-height:0;border-radius:8px}.chat-thread-list{display:grid;grid-template-rows:auto minmax(0,1fr);padding:0;overflow:hidden}.chat-list-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #edf1f6}.chat-list-header>div{min-width:0;display:grid;gap:3px}.chat-list-header strong{font-size:15px;font-weight:950}.chat-list-header small{color:#738098;font-size:11px;font-weight:750}.chat-list-header span,.chat-unread{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#fff1f2;color:#e60012;font-size:12px;font-weight:950}.chat-list-tools{display:grid;gap:10px;padding:12px 14px;border-bottom:1px solid #edf1f6;background:#fbfcfe}.chat-new-conversation{width:100%}.chat-list-tools input{width:100%;height:38px;padding:0 11px;border:1px solid #dbe3ee;border-radius:7px;background:#fff;color:#111827;font:inherit;font-size:12px;font-weight:700}.chat-list-tools input:focus{outline:none;border-color:#e60012;box-shadow:0 0 0 3px #e6001212}.chat-list-filter{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid #e1e7f0;border-radius:7px;background:#fff}.chat-list-filter button{min-height:30px;border:0;border-radius:5px;background:transparent;color:#52617a;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.chat-list-filter button.active{background:#fff0f1;color:#e60012}.chat-thread-scroll{min-height:0;overflow-y:auto}.chat-thread-button{width:100%;min-height:94px;display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:0;border-bottom:1px solid #edf1f6;background:transparent;color:inherit;text-align:left;cursor:pointer}.chat-thread-button:hover,.chat-thread-button.active{background:#fff7f8}.chat-thread-button.active{box-shadow:inset 3px 0 #e60012}.chat-thread-main{min-width:0;flex:1;display:grid;gap:4px}.chat-thread-title{color:#111827;font-size:13px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread-title-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.chat-thread-title-row time{color:#94a0b3;font-size:10px;font-weight:800;white-space:nowrap}.chat-thread-preview{color:#64748b;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-thread-context{width:max-content;max-width:100%;padding:2px 6px;border-radius:5px;background:#f1f4f8;color:#5d6c84;font-size:10px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-avatar-stack{width:84px;min-height:38px;display:flex;align-items:center;flex:0 0 84px;padding-left:2px}.chat-avatar-stack .chat-avatar+.chat-avatar{margin-left:-12px}.chat-avatar-stack .chat-avatar{border:2px solid #fff}.chat-avatar-stack.large{width:auto;min-width:54px;min-height:44px;flex-basis:auto}.chat-avatar-stack.large .chat-avatar{width:42px;height:42px;flex-basis:42px}.chat-avatar-stack.large .chat-avatar+.chat-avatar{margin-left:-10px}.chat-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f1f4f8;color:#1f2a44;object-fit:cover;font-size:12px;font-weight:950;flex:0 0 36px;box-shadow:0 0 0 1px #dbe3eecc}.chat-avatar-more{background:#1f2a44;color:#fff;font-size:10px}.chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;overflow:hidden}.chat-panel-header{min-height:104px;display:grid;gap:12px;padding:14px 18px 13px;border-bottom:1px solid #edf1f6}.chat-panel-heading{min-width:0;display:flex;align-items:center;gap:14px}.chat-panel-identity{min-width:0;display:flex;align-items:center;margin-right:auto}.chat-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.chat-panel-identity>div{min-width:0}.chat-panel-header h2{margin:0;color:#111827;font-size:20px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-panel-header p{margin:4px 0 0;color:#64748b;font-size:12px;font-weight:800}.chat-participant-roster{min-width:0;display:flex;align-items:center;gap:12px;padding-top:11px;border-top:1px solid #edf1f6}.chat-participant-list{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.chat-participant{min-width:0;display:inline-flex;align-items:center;gap:7px;padding:4px 8px 4px 4px;border:1px solid #e2e8f1;border-radius:999px;background:#fbfcfe}.chat-participant .chat-avatar{width:27px;height:27px;flex-basis:27px;font-size:9px}.chat-participant strong{max-width:180px;overflow:hidden;color:#1b263b;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.chat-mobile-back{display:none}.chat-message-list{height:100%;display:flex;flex-direction:column;gap:9px;padding:20px 22px;overflow-y:auto;background:#f8fafc}.chat-message-viewport{position:relative;min-height:0;overflow:hidden}.chat-new-post-notice{position:absolute;z-index:3;bottom:14px;left:50%;max-width:calc(100% - 28px);min-height:38px;display:inline-flex;align-items:center;gap:9px;padding:7px 13px 7px 8px;border:1px solid #fda4af;border-radius:999px;background:#fff;color:#b60012;box-shadow:0 10px 28px #0f172a29;font:inherit;font-size:11px;font-weight:900;line-height:1.25;text-align:left;transform:translate(-50%);cursor:pointer}.chat-new-post-notice:hover{border-color:#e60012;background:#fff7f8}.chat-new-post-arrow{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;border-radius:50%;background:#e60012;color:#fff;font-size:15px;line-height:1}.chat-message{display:grid;grid-template-columns:36px minmax(0,auto);align-items:end;gap:10px;max-width:min(76%,760px)}.chat-message.own{align-self:flex-end;grid-template-columns:minmax(0,auto) 36px;justify-items:end}.chat-bubble{min-width:120px;padding:12px 14px;border:1px solid #e3e9f2;border-radius:10px 10px 10px 3px;background:#fff;box-shadow:0 5px 14px #0f172a0a}.chat-message.own .chat-bubble{border-color:#e60012;border-radius:10px 10px 3px;background:#e60012;color:#fff}.chat-message-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:11px}.chat-message-meta strong{font-weight:950}.chat-message-meta time{color:#71819a;font-weight:800}.chat-message.own .chat-message-meta time{color:#ffffffc7}.chat-bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:650;line-height:1.45}.chat-message-image{display:block;max-width:min(520px,64vw);overflow:hidden;border-radius:7px;background:#edf1f6}.chat-message-image+p{margin-top:10px}.chat-message-image img{width:100%;max-height:520px;display:block;object-fit:contain}.chat-date-divider{display:flex;align-items:center;gap:10px;margin:8px 0;color:#8a96a9;font-size:10px;font-weight:900;text-transform:uppercase}.chat-date-divider:before,.chat-date-divider:after{height:1px;flex:1;background:#e3e8f0;content:""}.chat-date-divider span{padding:0 4px}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px 16px;border-top:1px solid #edf1f6;background:#fff}.chat-composer-main{min-width:0;display:grid;gap:8px}.chat-composer textarea{width:100%;height:100px;min-height:100px;max-height:100px;resize:none;border:1px solid #dbe3ee;border-radius:10px;padding:12px;font:inherit;font-weight:650}.chat-composer-actions{display:grid;gap:8px}.chat-composer-actions .btn{min-height:46px;min-width:132px}.chat-image-preview{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px;border:1px solid #fda4af;border-radius:8px;background:#fff7f8}.chat-image-preview img{width:58px;height:46px;border-radius:5px;object-fit:cover}.chat-file-type{width:58px;height:46px;display:grid;place-items:center;border-radius:5px;background:#fee2e2;color:#c30013;font-size:10px;font-weight:950;text-transform:uppercase}.chat-message-file{min-width:min(360px,58vw);display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;padding:10px;border:1px solid #dbe3ee;border-radius:8px;background:#fff;color:var(--color-text);text-decoration:none}.chat-message-file .chat-file-type{width:48px;height:42px}.chat-message-file>span:last-child{min-width:0;display:grid;gap:2px}.chat-message-file strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.chat-message-file small{color:var(--color-text-secondary);font-size:10px;font-weight:700}.chat-message.own .chat-message-file{border-color:#ffffff6b}.chat-message-file+p{margin-top:10px}.chat-image-preview>div{min-width:0;display:grid;gap:2px}.chat-image-preview strong{font-size:11px}.chat-image-preview span{overflow:hidden;color:var(--color-text-secondary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.chat-readonly{padding:16px;border-top:1px solid #edf1f6;background:#fbfcfe;color:#6b7890;font-size:12px;font-weight:800;text-align:center}.chat-composer textarea:focus{outline:none;border-color:#e60012;box-shadow:0 0 0 3px #e6001214}.chat-staff-picker{max-height:300px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.chat-staff-option{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e4eaf3;border-radius:7px;cursor:pointer}.chat-staff-option>span:last-child{min-width:0}.chat-staff-option.selected{border-color:#e60012;background:#fff7f8}.chat-staff-option input{accent-color:#e60012}.chat-staff-option span{display:grid;gap:2px}.chat-staff-option strong{color:#111827;font-size:13px;font-weight:950}.chat-staff-option small{color:#64748b;font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-new-form{display:grid;gap:4px}.chat-new-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chat-picker-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-picker-label>span{color:#e60012;font-size:11px;font-weight:900}.chat-error{margin-bottom:12px;padding:10px 12px;border:1px solid #fecdd3;border-radius:7px;background:#fff1f2;color:#b91c1c;font-size:13px;font-weight:800}.chat-empty{padding:18px;color:#7a8699;font-size:13px;font-weight:800}.chat-empty-large{min-height:100%;display:grid;place-items:center}.btn-sm{padding:5px 10px;font-size:var(--font-size-xs)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.page-actions{display:flex;gap:var(--space-3);align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);border-radius:var(--border-radius-sm);border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1.5}.btn:hover{background:var(--color-border-light)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{background:#dc2626}.btn-falcon-soft{background:#fff3f4;color:#d90016;border-color:#ffb8c0;font-weight:800}.btn-falcon-soft:hover{background:#ffe7e9;color:#b80012;border-color:#ef0016}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-md)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-border-light);color:var(--color-text)}.card{background:var(--color-white);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.project-overview-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-4)}.project-overview-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;margin-bottom:var(--space-4);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-border)}.project-overview-meta>div{min-width:0;padding:var(--space-3) var(--space-4);background:var(--color-white)}.project-overview-meta span,.project-overview-meta strong{display:block}.project-overview-meta span{margin-bottom:3px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase}.project-stat-card{width:100%;font-family:inherit;color:inherit;cursor:default}.project-stat-card.is-linked{cursor:pointer;text-align:left;border-color:#ffd0d5}.project-stat-card.is-linked:hover{background:#fff8f8;border-color:#ef0016;box-shadow:var(--shadow-md)}.project-stat-card .stat-value{font-size:var(--font-size-2xl)}.stat-detail{margin-top:5px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700}.production-member-person{display:flex;align-items:center;gap:10px}.production-member-person strong,.production-member-person span{display:block}.production-member-person span{margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.production-member-avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;overflow:hidden;border-radius:50%;background:#fff0f1;color:#e60012;font-size:12px;font-weight:900}.production-member-avatar img{width:100%;height:100%;object-fit:cover}.production-member-actions,.budget-list-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stat-card{text-align:center;padding:var(--space-6)}.stat-value{font-size:var(--font-size-3xl);font-weight:700;line-height:1.2}.stat-value.positive{color:var(--color-success)}.stat-value.negative{color:var(--color-danger)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.workspace-portal{min-height:100vh;padding:0 0 56px;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column}.workspace-portal-topbar{height:58px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-border);background:var(--color-white);box-shadow:var(--shadow-sm)}.workspace-portal-brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800}.workspace-portal-brand-mark{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px}.workspace-portal-brand-mark img{width:38px;height:38px;object-fit:contain;display:block}.workspace-portal-main{width:min(1420px,calc(100vw - 96px));margin:0 auto;padding:74px 0 86px;display:flex;flex-direction:column;gap:28px}.workspace-portal-header,.workspace-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.workspace-portal-header h1{font-size:var(--font-size-3xl);line-height:1.1;margin-bottom:var(--space-2)}.workspace-portal-header p{color:var(--color-text-secondary);font-size:var(--font-size-md)}.workspace-section{display:flex;flex-direction:column;gap:14px}.workspace-section h2{font-size:19px;color:var(--color-text-secondary)}.workspace-card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4)}.workspace-card{min-height:126px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white);box-shadow:var(--shadow-sm);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.workspace-card:hover{border-color:#cbd5e1;box-shadow:var(--shadow-md);transform:translateY(-1px)}.workspace-card>div>strong,.workspace-card>div>span,.workspace-card>div>small{display:block}.workspace-card>div>span{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--space-1)}.workspace-card>div>small{color:var(--color-text-muted);margin-top:var(--space-2)}.workspace-mark{width:54px;height:54px;border-radius:8px;object-fit:cover;flex:0 0 54px}.workspace-mark-featured{width:64px;height:64px;flex-basis:64px}.workspace-mark-fallback{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#fff1f2;color:#e60012;font-weight:950;letter-spacing:0;border:1px solid #ffd7dc;box-shadow:inset 0 0 0 8px #ffffff57}.workspace-mark-fallback:after{content:"";position:absolute;right:-16px;bottom:-18px;width:42px;height:42px;border-radius:50%;background:#e6001214}.workspace-mark-fallback{font-size:18px}.workspace-mark-featured.workspace-mark-fallback{font-size:21px}.workspace-mark-tone-0{background:#fff1f2;color:#e60012;border-color:#ffcdd4}.workspace-mark-tone-1{background:#eef3ff;color:#3157d7;border-color:#d5defc}.workspace-mark-tone-2{background:#ecfdf3;color:#079455;border-color:#bbf7d0}.workspace-mark-tone-3{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.workspace-mark-tone-4{background:#f8fafc;color:#334155;border-color:#dbe3ef}.workspace-mark-tone-5{background:#fef2f2;color:#b42318;border-color:#fecaca}.workspace-tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.workspace-tabs button{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);color:var(--color-text-secondary);cursor:pointer;padding:7px 10px;font-size:var(--font-size-sm)}.workspace-tabs button.active{border-color:var(--color-primary);color:var(--color-primary);background:#4361ee14}.workspace-actions-inline{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.workspace-search input{width:min(360px,100%);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-family:var(--font-family);background:var(--color-white);color:var(--color-text)}.workspace-new-button{border:0;border-radius:var(--border-radius-sm);background:#4f46e5;color:#fff;cursor:pointer;padding:9px 13px;font-weight:600}.workspace-menu-button,.workspace-card-menu{width:32px;height:32px;display:inline-grid;place-items:center;border:0;border-radius:var(--border-radius-sm);background:var(--color-border-light);color:var(--color-text-secondary);cursor:pointer;font-size:18px;font-weight:900;line-height:1;padding:0 0 2px}.workspace-card-menu{margin-left:auto;align-self:flex-start}.workspace-context-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.workspace-context-menu{position:fixed;width:228px;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--border-radius);background:var(--color-white);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.workspace-context-menu button{border:0;border-radius:var(--border-radius-sm);background:transparent;color:var(--color-text);text-align:left;padding:9px 10px;cursor:pointer;font-size:var(--font-size-sm)}.workspace-context-menu button:hover{background:var(--color-border-light)}.workspace-context-menu button.danger{color:var(--color-danger)}.workspace-settings-image-row{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.workspace-settings-form{display:grid;gap:var(--space-4)}.workspace-settings-section{display:grid;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.workspace-settings-section-head h3{margin:0 0 4px;color:var(--color-text);font-size:var(--font-size-lg)}.workspace-settings-section-head p,.form-help{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.workspace-provider-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.workspace-mail-server-note{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.workspace-message-test{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3)}@media(max-width:768px){.workspace-provider-fields,.workspace-message-test{grid-template-columns:1fr}.workspace-mail-server-note{align-items:flex-start;flex-direction:column}.pp-section-actions,.team-message-link-warning{align-items:stretch;flex-direction:column}.team-message-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.workspace-members-admin{display:flex;flex-direction:column;gap:var(--space-4)}.workspace-members-toolbar{display:flex;justify-content:flex-end}.workspace-invite-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,280px) auto;gap:var(--space-3);align-items:end}.workspace-invite-form .text-xs{grid-column:1 / -1}.workspace-invite-status{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.workspace-member-list{display:flex;flex-direction:column;gap:var(--space-2)}.workspace-member-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,300px) 110px auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.workspace-member-mini{display:flex;align-items:center;gap:var(--space-3);min-width:0}.workspace-member-mini img,.workspace-member-mini>span{width:34px;height:34px;border-radius:50%;flex:0 0 34px}.workspace-member-mini>span{display:inline-flex;align-items:center;justify-content:center;background:#e5e7eb;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:700}.workspace-member-mini strong,.workspace-member-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-member-mini small{color:var(--color-text-secondary)}.access-groups-admin{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-5);min-height:420px}.access-groups-list{display:flex;flex-direction:column;gap:var(--space-2);border-right:1px solid var(--color-border);padding-right:var(--space-4)}.access-groups-list button{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-surface);color:var(--color-text);text-align:left;padding:var(--space-3);cursor:pointer}.access-groups-list button.active{border-color:var(--color-primary);background:#e509140f;color:var(--color-primary)}.access-groups-list strong,.access-groups-list span{display:block}.access-groups-list span{margin-top:3px;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.access-group-editor{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.access-group-top-row{align-items:end}.access-admin-toggle{min-height:42px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-surface);color:var(--color-text)}.access-admin-toggle.selected{border-color:var(--color-primary);background:#e509140f}.access-module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-2)}.access-module-grid label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.access-module-grid label.permission-rw{border-color:var(--color-primary);background:#e509140f}.access-module-grid label.permission-ro{border-color:#9ca3af;background:#94a3b81a}.access-module-grid label.permission-none{color:var(--color-text-secondary)}.access-module-grid select{width:112px;min-width:112px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);color:var(--color-text);padding:6px 8px}.crop-upload-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:20px}.crop-upload-modal{width:min(460px,calc(100vw - 32px));background:#171b24;color:#eef3fb;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 24px 80px #0000008c;padding:18px}.crop-upload-head,.crop-upload-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.crop-upload-head h3{margin:0;font-size:20px}.crop-upload-head button{width:32px;height:32px;border:0;border-radius:8px;background:#263047;color:#fff;cursor:pointer}.crop-upload-body{display:flex;flex-direction:column;align-items:center;gap:16px;margin:14px 0 18px}.crop-upload-stage{width:280px;height:280px;overflow:hidden;position:relative;background:#0b0e15;border:2px solid rgba(143,174,238,.8);box-shadow:inset 0 0 0 1px #0006;cursor:grab;touch-action:none}.crop-upload-stage img{position:absolute;left:50%;top:50%;-webkit-user-select:none;user-select:none;pointer-events:none}.crop-upload-slider{width:100%;display:flex;align-items:center;gap:12px}.crop-upload-slider span{width:52px;color:#b9c4d7;font-size:13px;font-weight:700}.crop-upload-slider input{flex:1;accent-color:#1e66ff}.crop-upload-error{width:100%;color:#fecaca;background:#481a1a;border:1px solid #7f1d1d;border-radius:8px;padding:8px 10px;font-size:13px}.crop-upload-actions{justify-content:flex-end}@media(max-width:760px){.workspace-invite-form,.workspace-member-row{grid-template-columns:1fr}}.workspace-table-shell{border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden;background:var(--color-white);box-shadow:var(--shadow-sm)}.workspace-table-shell .data-table th{color:var(--color-text-secondary);border-bottom-color:var(--color-border)}.workspace-table-shell .data-table td{color:var(--color-text);border-bottom-color:var(--color-border-light)}.workspace-table-shell .data-table tr:hover td{background:var(--color-border-light)}.workspace-table-shell .badge-default{background:var(--color-border-light);color:var(--color-text-secondary)}.workspace-table-shell .badge-info{background:#3b82f61a;color:#3b82f6}.workspace-portal-footer{position:fixed;left:0;right:0;bottom:0;height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 22px;background:var(--color-white);border-top:1px solid var(--color-border);color:var(--color-text);box-shadow:0 -4px 16px #0000000a;z-index:20}.workspace-footer-user,.workspace-footer-metrics,.workspace-footer-brand{display:flex;align-items:center;gap:var(--space-3)}.workspace-footer-user img,.workspace-footer-user span{width:22px;height:22px;border-radius:50%}.workspace-footer-user span{display:inline-flex;align-items:center;justify-content:center;background:#e5e7eb;color:var(--color-text-secondary);font-size:10px}.workspace-footer-user{border:0;padding:0;background:transparent;color:var(--color-text);font:inherit;cursor:pointer}.workspace-footer-user:hover strong{color:#e60012}.workspace-footer-metrics{color:var(--color-text-secondary);font-size:12px}.workspace-footer-brand{font-size:12px;font-weight:700}.workspace-footer-brand img{width:148px;max-height:28px;object-fit:contain;display:block}@media(max-width:820px){.workspace-portal-main{width:min(100vw - 28px,1420px);padding-top:34px}.workspace-portal-footer{height:auto;min-height:58px;align-items:flex-start;flex-direction:column;padding:10px 14px}}.workspace-overview-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:var(--space-5);align-items:start}.workspace-license-card{margin-bottom:18px}.workspace-license-header,.workspace-license-actions,.workspace-license-meter-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspace-license-header p{margin:4px 0 0}.workspace-license-meters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:16px}.workspace-license-meter{min-width:0}.workspace-license-meter-label{align-items:flex-start;margin-bottom:8px;font-size:12px}.workspace-license-meter-label strong{text-align:right;white-space:nowrap}.workspace-license-meter-track{height:7px;overflow:hidden;background:#edf1f7;border-radius:4px}.workspace-license-meter-track span{display:block;height:100%;background:#ed0017;border-radius:inherit}.workspace-license-note{margin:16px 0 0;color:var(--text-muted);font-size:12px}@media(max-width:980px){.workspace-license-meters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.workspace-license-header{align-items:flex-start}.workspace-license-actions{align-items:flex-end;flex-direction:column}.workspace-license-meters{grid-template-columns:1fr}}.workspace-project-list{display:flex;flex-direction:column;gap:var(--space-2)}.workspace-project-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--border-radius-sm);color:var(--color-text)}.workspace-project-row:hover{background:var(--color-border-light);text-decoration:none}.workspace-project-row img,.workspace-project-row>span{width:48px;height:36px;border-radius:var(--border-radius-sm);flex:0 0 48px}.workspace-project-row img{object-fit:cover}.workspace-project-row>span{display:inline-flex;align-items:center;justify-content:center;background:#e5e7eb;color:var(--color-text-secondary);font-weight:700;font-size:var(--font-size-xs)}.workspace-project-row small{display:block;color:var(--color-text-secondary);margin-top:2px}.workspace-invite-list{display:flex;gap:var(--space-2);flex-wrap:wrap;padding-top:var(--space-4)}.workspace-resource-links{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.workspace-project-access-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-2)}.workspace-project-access-picker label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer}.workspace-project-access-picker label.selected{border-color:var(--color-primary);background:#4361ee14}@media(max-width:980px){.workspace-overview-grid,.workspace-invite-form,.workspace-member-row,.access-groups-admin{grid-template-columns:1fr}.access-groups-list{border-right:0;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:var(--space-4)}}.data-table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.data-table tr:hover td{background:var(--color-border-light)}.data-table tr:last-child td{border-bottom:none}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin-bottom:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);color:var(--color-text);transition:border-color .15s;line-height:1.5}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4361ee1a}.form-textarea{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal{background:var(--color-white);color:var(--color-text);border-radius:var(--border-radius-lg);width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}.modal-lg{max-width:800px}.modal-full-height{height:calc(100dvh - (2 * var(--space-4)));max-height:calc(100dvh - (2 * var(--space-4)))}.modal-full-height .modal-body{flex:1}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex:0 0 auto}.modal-title{font-size:var(--font-size-lg);font-weight:600}.modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1)}.modal-body{padding:var(--space-6);overflow-y:auto;min-height:0}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);flex:0 0 auto;background:var(--color-white)}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--font-size-xs);font-weight:500;border-radius:100px;white-space:nowrap}.badge-default{background:var(--color-border-light);color:var(--color-text-secondary)}.badge-primary{background:#4361ee1a;color:var(--color-primary)}.badge-info{background:#3b82f61a;color:#3b82f6}.badge-success{background:#10b9811a;color:var(--color-success)}.badge-danger{background:#ef44441a;color:var(--color-danger)}.badge-warning{background:#f59e0b1a;color:var(--color-warning)}.search-bar{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);font-family:var(--font-family)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4361ee1a}.search-bar-combo{align-items:stretch;flex-direction:column}.search-bar-combo .search-input{width:100%;min-height:44px;max-height:44px;flex:0 0 44px}.search-bar-combo .tag-filter-control{width:100%;min-width:0;flex:0 0 auto}.search-bar-combo .module-toolbar-field{width:min(240px,100%);margin-bottom:0}.search-tag-select{width:min(260px,100%)}.input-with-action{display:flex;gap:8px;align-items:center}.input-with-action .form-select,.input-with-action .form-input{flex:1}.budget-grid{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);table-layout:fixed}.budget-grid th{text-align:left;padding:var(--space-2) var(--space-3);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap;background:var(--color-white)}.budget-grid td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);vertical-align:middle;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-grid tbody tr:hover td{background:var(--color-border-light)}.budget-grid tbody tr:last-child td{border-bottom:none}.budget-row-groupHeader td{font-weight:600;text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.03em;background:#f1f5f9!important;padding-top:var(--space-3)!important;padding-bottom:var(--space-3)!important}.budget-row-subtotal td{font-weight:600;background:#f8fafc!important;border-top:2px solid var(--color-border)}.budget-row-textOnly td{color:var(--color-text-secondary);font-style:italic;font-size:var(--font-size-xs)}.budget-cell-input{width:100%;border:none;background:#eef2ff;font-size:inherit;font-family:inherit;padding:4px 6px;border-radius:3px;outline:none;box-shadow:inset 0 0 0 1px var(--color-primary)}.budget-cell-input:focus{background:#eef2ff;box-shadow:inset 0 0 0 2px var(--color-primary)}.budget-cell-value{cursor:default;display:block;padding:2px 0;border-radius:3px}.budget-cell-value:hover{background:#4361ee0f}.budget-cell-actions{width:40px;text-align:center}.budget-sheet-tabs{display:flex;gap:4px;padding:0 0 var(--space-4);overflow-x:auto;border-bottom:2px solid var(--color-border-light);margin-bottom:var(--space-4)}.budget-sheet-tab{padding:var(--space-2) var(--space-4);border:none;background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--border-radius) var(--border-radius) 0 0;cursor:pointer;white-space:nowrap;transition:all .15s;position:relative;top:2px}.budget-sheet-tab:hover{background:var(--color-border-light);color:var(--color-text)}.budget-sheet-tab.active{background:var(--color-white);color:var(--color-primary);font-weight:600;border-bottom:2px solid var(--color-primary);box-shadow:0 -1px 4px #0000000d}.budget-sheet-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;font-size:10px;font-weight:600;background:var(--color-border);color:var(--color-text-secondary);border-radius:9px;margin-left:6px;padding:0 5px}.budget-sheet-tab.active .tab-count{background:var(--color-primary);color:#fff}.budget-sheet-tab-add{background:transparent;color:var(--color-primary);border:1px dashed var(--color-primary);opacity:.7}.budget-sheet-tab-add:hover{opacity:1;background:#4361ee0d}.budget-sheet-actions{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.budget-list-toolbar,.list-filter-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.budget-list-toolbar .form-select,.list-filter-bar .form-select{min-width:220px}.budget-list-card{padding:0;overflow:hidden}.budget-sheet-list tbody tr{cursor:pointer}.budget-sheet-list td:first-child strong,.budget-sheet-list td:first-child span{display:block}.budget-list-status{margin-top:3px;color:var(--color-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.list-view-controls{min-width:0;display:grid;gap:12px}.status-view-filter{min-width:0;display:grid;gap:6px}.status-view-filter>span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.status-view-filter>div{display:flex;gap:5px;flex-wrap:wrap}.status-view-filter button{min-height:35px;padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-white);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-xs);font-weight:850;cursor:pointer}.status-view-filter button.active{border-color:#ef0016;background:#fff0f1;color:#d70015;box-shadow:inset 0 0 0 1px #ef0016}.callsheet-list-actions{display:flex;gap:6px;flex-wrap:wrap}.budget-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.budget-view-tabs,.budget-period-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white);margin-bottom:var(--space-4)}.budget-view-tabs button,.budget-period-toggle button{border:0;background:transparent;color:var(--color-text-secondary);font-weight:800;padding:8px 14px;border-radius:6px;cursor:pointer}.budget-view-tabs button.active,.budget-period-toggle button.active{background:#fff0f1;color:#e60012}.budget-controlling-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.budget-controlling-header h2{margin:0;font-size:var(--font-size-xl)}.budget-controlling-header p,.budget-controlling-note{color:var(--color-text-muted);font-weight:600}.budget-controlling-grid{min-width:980px}.budget-controlling-controls{display:grid;grid-template-columns:auto minmax(300px,1fr) auto auto;align-items:stretch;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-white)}.budget-control-group{min-width:0;padding-right:var(--space-4);border-right:1px solid var(--color-border-light)}.budget-control-group:last-of-type{border-right:0}.budget-control-label{display:block;margin-bottom:6px;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.budget-custom-range-toggle{min-height:38px;display:inline-flex;align-items:center;gap:8px;font-weight:900;color:var(--color-text)}.budget-custom-range-toggle span,.budget-custom-range-toggle strong,.budget-custom-range-toggle small{display:block}.budget-custom-range-toggle small{margin-top:2px;color:var(--color-text-muted);font-size:11px;font-weight:600}.budget-custom-range.is-active{padding:10px 12px;border:1px solid #ffc8ce;border-radius:var(--border-radius);background:#fff8f8}.budget-date-range-inputs{display:flex;align-items:center;gap:var(--space-2)}.budget-date-range-inputs label{flex:1;min-width:130px}.budget-date-range-inputs label>span{display:block;margin-bottom:4px;color:var(--color-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.budget-date-range-inputs .form-input{width:154px}.budget-compare-control{display:block}.budget-compare-control>div{display:flex;align-items:center;gap:var(--space-2)}.budget-compare-control .form-input{width:92px}.budget-compare-control span{color:var(--color-text-secondary);font-weight:800}.budget-refresh-button{align-self:end;min-height:40px;white-space:nowrap}.budget-controlling-range{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid #ffc8ce;border-radius:var(--border-radius-lg);background:#fff7f8}.budget-controlling-range strong{font-size:var(--font-size-md)}.budget-controlling-range span{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:var(--color-white);color:#e60012;font-size:var(--font-size-xs);font-weight:900}.budget-controlling-grid th span{display:block;margin-top:2px;font-size:10px;font-weight:900;text-transform:uppercase}.budget-controlling-grid .is-selected-period{background:#f0fdf4}.budget-controlling-grid .is-comparison-period{background:#f8fafc;color:#64748b}.budget-controlling-grid tfoot td{padding:var(--space-3);border-top:2px solid var(--color-border);background:#f8fafc;font-weight:900}.budget-summary-card{padding:var(--space-4)}.budget-summary-value{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-text)}.budget-summary-value.is-income,.budget-positive{color:var(--color-success)}.budget-summary-value.is-expense,.budget-negative{color:var(--color-danger)}.budget-table-card{overflow:auto;padding:0}.budget-grid-v2 th{background:#fff;position:sticky;top:0;z-index:1}.budget-grid-v2 .budget-cell-value{border:0;background:transparent;width:100%;min-height:24px;padding:2px 0;color:inherit;font:inherit;text-align:inherit;cursor:pointer}.budget-grid-v2 td[style*=right] .budget-cell-value{text-align:right}.budget-grid-v2 .budget-row-groupHeader td{background:#fff4f5!important;color:#1f2a44;border-top:1px solid #ffd9de;border-bottom:1px solid #ffd9de}.budget-grid-v2 .budget-row-groupHeader td:first-child{border-left:4px solid #e60012}.budget-grid-v2 .budget-row-entry td:first-child,.budget-grid-v2 .budget-row-textOnly td:first-child{border-left:4px solid transparent}.budget-grid-v2 .budget-row-subtotal td{background:#f8fafc!important}.budget-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.budget-mini-btn{min-height:26px;padding:0 8px;font-size:var(--font-size-xs)}.budget-account-label{display:inline-flex;align-items:center;gap:8px;max-width:100%;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.budget-account-label span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.budget-account-type-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:800;flex:0 0 auto}.budget-account-type-badge.is-income{background:#dcfce7;color:#15803d}.budget-account-type-badge.is-expense{background:#fee2e2;color:#b91c1c}.budget-account-create{display:grid;grid-template-columns:140px minmax(180px,1fr) 140px auto;gap:var(--space-2);align-items:center;margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-bg)}.budget-account-plan-table{display:flex;flex-direction:column;gap:var(--space-2)}.budget-account-plan-head,.budget-account-plan-row{display:grid;grid-template-columns:140px minmax(180px,1fr) 150px 170px;gap:var(--space-2);align-items:center}.budget-account-plan-head{padding:0 var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase}.budget-account-plan-row{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white)}.budget-account-plan-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.budget-empty-cell{padding:40px!important;text-align:center;color:var(--color-text-muted)}.budget-empty-state{border:1px solid var(--color-border);background:var(--color-white);border-radius:var(--border-radius-lg);padding:48px;text-align:center;box-shadow:var(--shadow-sm)}.budget-empty-state h2{margin:0 0 var(--space-2);font-size:var(--font-size-xl)}.budget-empty-state p,.muted{color:var(--color-text-muted)}.budget-empty-state .btn+.btn{margin-left:var(--space-2)}.budget-account-mode{display:flex;gap:var(--space-4);margin-bottom:var(--space-3);color:var(--color-text-secondary);font-weight:600}.budget-account-mode label{display:inline-flex;align-items:center;gap:8px}.budget-link-list+.budget-link-list{margin-top:var(--space-5)}.budget-template-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--space-5);min-height:560px}.budget-template-list{border-right:1px solid var(--color-border);padding-right:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.budget-template-list-item{border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);border-radius:var(--border-radius);padding:var(--space-3);text-align:left;cursor:pointer}.budget-template-list-item strong,.budget-template-list-item span{display:block}.budget-template-list-item span{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-top:4px}.budget-template-list-item.active{border-color:#e60012;background:#fff4f5;color:#e60012}.budget-template-editor{min-width:0}.budget-template-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.budget-template-rows{display:flex;flex-direction:column;gap:var(--space-2);max-height:420px;overflow:auto;padding-right:4px}.budget-template-row{display:grid;grid-template-columns:130px 92px minmax(170px,1fr) 92px minmax(140px,1fr) 104px 70px 76px 96px 34px;gap:6px;align-items:center;padding:8px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white)}.budget-template-row-groupHeader{background:#fff4f5;border-color:#ffd9de}.budget-template-row input,.budget-template-row select{width:100%;min-width:0;border:1px solid var(--color-border);border-radius:6px;padding:8px;font:inherit}.budget-template-row input:disabled,.budget-template-row select:disabled{background:#f8fafc;color:var(--color-text-muted)}.budget-template-empty{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--border-radius);color:var(--color-text-muted);text-align:center}.linked-callsheets{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-3);flex-wrap:wrap}.linked-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500}.linked-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;background:#e0e7ff;color:var(--color-primary);border-radius:12px;font-size:var(--font-size-xs);font-weight:500}.linked-chip-remove{border:none;background:none;color:var(--color-primary);cursor:pointer;font-size:14px;line-height:1;padding:0;opacity:.6}.linked-chip-remove:hover{opacity:1}.link-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--border-radius)}.callsheet-detail{padding:0}.cs-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2)}.cs-section{margin-top:var(--space-5)}.cs-section-title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.cs-resource-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.cs-resource-table th{text-align:left;padding:var(--space-1) var(--space-2);font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.cs-resource-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.cs-resource-table tbody tr:hover td{background:var(--color-border-light)}.cs-resource-actions{display:flex;gap:4px;justify-content:flex-end}.btn-xs{width:22px!important;height:22px!important;font-size:10px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.btn-danger-icon{color:var(--color-danger)!important}.btn-danger-icon:hover{background:var(--color-danger)!important;color:#fff!important}.cs-add-row td{padding:var(--space-2);border-bottom:none;background:var(--color-bg)}.cs-inline-add{display:flex;gap:var(--space-2);align-items:center}.form-select-sm,.form-input-sm{padding:4px 8px!important;font-size:var(--font-size-xs)!important;height:30px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.kanban-board{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-4);min-height:400px}.kanban-column{min-width:280px;max-width:320px;flex-shrink:0;background:var(--color-border-light);border-radius:var(--border-radius);padding:var(--space-3)}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2);margin-bottom:var(--space-3)}.kanban-column-title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.kanban-column-count{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-white);padding:1px 8px;border-radius:100px}.kanban-card{background:var(--color-white);border-radius:var(--border-radius-sm);padding:var(--space-3);margin-bottom:var(--space-2);border:1px solid var(--color-border);cursor:pointer;transition:box-shadow .15s}.kanban-card:hover{box-shadow:var(--shadow-md)}.drag-guidance{position:sticky;top:12px;z-index:20;margin-bottom:var(--space-3);padding:12px 16px;border:2px solid #ef0016;border-radius:var(--border-radius);background:#fff0f1;color:#9f0010;font-size:var(--font-size-sm);font-weight:700;box-shadow:0 8px 24px #ef001624}.kanban-column-drag-active{outline:1px dashed #ff9ba5;outline-offset:-4px}.kanban-card[draggable=true]{cursor:grab}.kanban-card[draggable=true]:active{cursor:grabbing}.kanban-card-dragging{opacity:.35;border-style:dashed}.kanban-drop-ghost{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-bottom:var(--space-2);padding:var(--space-3);border:3px dashed #ef0016;border-radius:var(--border-radius);background:#fff0f1;color:#c90013;text-align:center;box-shadow:inset 0 0 0 4px #fff}.kanban-drop-ghost strong{font-size:var(--font-size-sm)}.kanban-drop-ghost span{font-size:11px;font-weight:700}.kanban-card-title{font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--space-2)}.kanban-card-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}.kanban-card-assignee{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.kanban-card-due{font-size:var(--font-size-xs);color:var(--color-text-muted)}.kanban-card-move{display:flex;gap:4px;flex-wrap:wrap;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-light);opacity:0;transition:opacity .15s}.kanban-card:hover .kanban-card-move{opacity:1}.kanban-card-move .btn-move{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-family:var(--font-family);font-weight:500;border-radius:100px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.kanban-card-move .btn-move:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tagwall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.tagwall-card{border-radius:3px;padding:var(--space-5);min-height:140px;cursor:pointer;transition:transform .15s,box-shadow .15s;position:relative;box-shadow:2px 3px 8px #0000001a,0 1px 2px #0000000f;transform:rotate(-.5deg)}.tagwall-card:nth-child(2n){transform:rotate(.5deg)}.tagwall-card:nth-child(3n){transform:rotate(-1deg)}.tagwall-card:hover{transform:scale(1.02) rotate(0);box-shadow:4px 6px 16px #00000026;z-index:2}.tagwall-card-pinned{transform:rotate(0)!important}.tagwall-card-pinned:before{content:"";position:absolute;top:-4px;right:var(--space-3);width:18px;height:3px;border-radius:99px;background:var(--color-primary)}.tagwall-card-dragging{opacity:.55;outline:2px dashed var(--color-primary);outline-offset:4px}.tagwall-drop-ghost{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:var(--space-5);border:4px dashed #ef0016;border-radius:8px;background:repeating-linear-gradient(-45deg,#fff,#fff 10px,#fff0f1 10px,#fff0f1 20px);color:#b90012;text-align:center;box-shadow:0 10px 28px #ef00162e,inset 0 0 0 4px #fff}.tagwall-drop-ghost strong{font-size:var(--font-size-lg)}.tagwall-drop-ghost span{max-width:220px;font-size:var(--font-size-xs);font-weight:800}.tagwall-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.tagwall-card-title{font-size:var(--font-size-sm);font-weight:700;color:#000000bf;margin:0;line-height:1.3}.tagwall-pin-btn{background:#ef001614;border:1px solid rgba(239,0,22,.18);border-radius:999px;color:var(--color-primary);cursor:pointer;font-size:11px;font-weight:700;padding:3px 8px;transition:opacity .15s,background .15s}.tagwall-pin-btn:hover{background:#ef001624}.tagwall-card-tools{display:flex;gap:6px;align-items:center;flex-shrink:0}.tagwall-drag-handle{background:#ffffffa6;border:1px solid rgba(0,0,0,.08);border-radius:999px;color:#00000094;cursor:grab;font-size:11px;font-weight:800;padding:3px 8px}.tagwall-drag-handle:active{cursor:grabbing}.tagwall-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-2)}.tagwall-assignee{border-radius:999px;background:#ffffff8c;color:#0000009e;font-size:10px;font-weight:800;padding:2px 7px}.tagwall-card-body{font-size:var(--font-size-xs);color:#0009;line-height:1.5;white-space:pre-line;overflow:hidden;max-height:100px}.tagwall-card-tags{display:flex;gap:var(--space-1);flex-wrap:wrap;margin-top:var(--space-3)}.tagwall-tag{display:inline-block;padding:1px 8px;font-size:10px;font-weight:600;border-radius:100px;background:#0000001a;color:#0000008c;text-transform:lowercase}.tagwall-card-footer{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid rgba(0,0,0,.06)}.tagwall-card-date{font-size:10px;color:#0006}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-border);cursor:pointer;transition:transform .1s,border-color .1s;padding:0;outline:none}.color-swatch:hover{transform:scale(1.15)}.color-swatch-active{border-color:var(--color-primary)!important;border-width:3px;box-shadow:0 0 0 2px #4361ee33}.calendar-month{border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden;background:var(--color-white)}.calendar-filter-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-white)}.calendar-source-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-source-filters>.budget-control-label{width:100%;margin-bottom:0}.calendar-source-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:800;cursor:pointer}.calendar-source-toggle.active{background:#fff4f5;border-color:#ffb7bf;color:#c90013}.calendar-tag-filter{min-width:220px}.calendar-event-dot.calendar-source-event{background:#16a34a}.calendar-event-dot.calendar-source-task{background:#f97316}.calendar-event-dot.calendar-source-call_sheet{background:#ef0016}.calendar-event-dot.calendar-source-guest_booking{background:#2563eb}.calendar-event-dot.calendar-source-asset_booking{background:#0f766e}.calendar-source-toggle.source-asset_bookings.active{border-color:#0f766e;background:#ecfdf5;color:#115e59}.calendar-day-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:14px 0;border-bottom:1px solid var(--color-border-light);cursor:pointer}.calendar-item-meta{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 7px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);background:var(--color-border-light)}.calendar-header-cell{padding:var(--space-3) var(--space-2)}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:100px;padding:var(--space-2);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-xs);cursor:pointer;transition:background .1s}.calendar-day:hover{background:#4361ee08}.calendar-day:nth-child(7n){border-right:none}.calendar-day-empty{background:var(--color-border-light);cursor:default}.calendar-day-empty:hover{background:var(--color-border-light)}.calendar-day-number{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;margin-bottom:var(--space-1)}.calendar-day-today .calendar-day-number{background:var(--color-primary);color:#fff}.calendar-day-events{display:flex;flex-direction:column;gap:2px}.calendar-event-dot{display:block;padding:2px 6px;font-size:10px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;cursor:pointer;line-height:1.4}.calendar-event-label{font-weight:500}.calendar-more{font-size:10px;color:var(--color-text-muted);padding:1px 4px}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--border-radius);padding:var(--space-10);text-align:center;background:var(--color-border-light);cursor:pointer;transition:all .15s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary);background:#4361ee0a}.upload-zone-icon{font-size:2rem;margin-bottom:var(--space-2)}.upload-zone-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.callsheet-detail{display:grid;gap:var(--space-4)}.callsheet-section{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-4)}.callsheet-section-title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.form-error-message{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid rgba(220,38,38,.24);border-radius:var(--border-radius-sm);background:#dc262614;color:var(--color-danger);font-size:var(--font-size-sm);font-weight:600}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.font-mono{font-variant-numeric:tabular-nums}.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.empty-state{text-align:center;padding:var(--space-12);color:var(--color-text-muted)}.empty-state-text{font-size:var(--font-size-md);margin-bottom:var(--space-4)}.tag-pills{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.tag-pill{display:inline-flex;align-items:center;max-width:180px;min-height:24px;padding:3px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tag-color, #ef0016) 32%,white);background:color-mix(in srgb,var(--tag-color, #ef0016) 11%,white);color:color-mix(in srgb,var(--tag-color, #ef0016) 80%,#111827);font-size:11px;font-weight:800;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-selector{display:flex;flex-wrap:wrap;gap:8px}.tag-selector-chip{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text-secondary);font-family:var(--font-family);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.tag-selector-chip:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--tag-color, #ef0016);margin-right:8px}.tag-selector-chip-active{border-color:color-mix(in srgb,var(--tag-color, #ef0016) 45%,white);background:color-mix(in srgb,var(--tag-color, #ef0016) 10%,white);color:color-mix(in srgb,var(--tag-color, #ef0016) 78%,#111827)}.tag-selector-empty{color:var(--color-text-muted);font-size:13px;padding:8px 0}.tag-filter-control{min-width:240px;max-width:100%}.tag-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.tag-filter-heading button{border:0;background:transparent;color:#e60012;font:inherit;cursor:pointer;text-transform:none}.tag-filter-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tag-filter-options button{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-white);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-xs);font-weight:800;cursor:pointer}.tag-filter-options button>span{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--tag-color, #ef0016)}.tag-filter-options button.active{border-color:var(--tag-color, #ef0016);background:color-mix(in srgb,var(--tag-color, #ef0016) 10%,white);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--tag-color, #ef0016)}.search-bar-combo .tag-filter-control{flex:0 0 auto}.entity-attachments{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-white)}.entity-attachments-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--space-3)}.entity-attachments-header>div strong,.entity-attachments-header>div span{display:block}.entity-attachments-header>div span{margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.entity-attachment-list{display:grid;gap:8px}.entity-attachment-row{display:grid;grid-template-columns:48px minmax(160px,1fr) auto auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--color-border-light);border-radius:var(--border-radius)}.entity-attachment-row>img,.entity-attachment-type{width:48px;height:48px;border-radius:5px;object-fit:cover}.entity-attachment-type{display:grid;place-items:center;background:#fff0f1;color:#d90016;font-size:11px;font-weight:900}.entity-attachment-copy{min-width:0}.entity-attachment-copy strong,.entity-attachment-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-attachment-copy span{margin-top:3px;color:var(--color-text-muted);font-size:11px}.entity-attachment-order{display:flex;gap:5px}.entity-attachment-empty{margin:0;padding:var(--space-4);color:var(--color-text-muted);text-align:center}.document-attachments{margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-white)}.document-attachments>h2{margin:0 0 var(--space-4);font-size:var(--font-size-lg)}.document-attachment-sequence{display:grid;gap:var(--space-5)}.document-attachment-image,.document-pdf-pages figure{margin:0}.document-attachment-image img,.document-pdf-pages img{display:block;width:100%;height:auto;border:1px solid var(--color-border);border-radius:4px;background:#fff}.document-attachment-image figcaption,.document-pdf-pages figcaption{margin-top:5px;color:var(--color-text-muted);font-size:11px;font-weight:700}.document-pdf-pages{display:grid;gap:var(--space-5)}.pp-fp-description{max-width:900px;margin:8px 0 0;color:var(--color-text-secondary);line-height:1.65;white-space:pre-wrap}.pp-overview-description{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.pp-overview-description>span,.public-plan-description>span{display:block;margin-bottom:5px;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase}.pp-overview-description p,.public-plan-description p,.pp-print-description p{margin:0;line-height:1.65;white-space:pre-wrap}.public-plan-description{margin:18px 0 0;padding:18px 20px;border-left:4px solid #ef0016;background:#fff}.pp-print-description{margin-top:12px;padding-top:10px;border-top:1px solid #d6d9df}.pp-print-description p{margin-top:3px}@media(max-width:760px){.entity-attachment-row{grid-template-columns:42px minmax(0,1fr)}.entity-attachment-row>.btn,.entity-attachment-order{grid-column:1 / -1}.entity-attachment-order{flex-wrap:wrap}}.tag-manager{display:grid;gap:18px}.tag-manager-form,.tag-manager-edit,.kanban-column-create,.module-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.kanban-column-create{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--color-border-light)}.tag-manager-form .form-group,.kanban-column-create .form-input{flex:1;min-width:220px}.tag-color-picker{display:flex;align-items:center;gap:8px;padding-bottom:2px}.tag-color-picker input[type=color]{width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-white)}.tag-color-dot{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer}.tag-color-dot-active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-white),0 0 0 4px #0f172a1f}.tag-manager-list,.kanban-column-manager{display:grid;gap:10px}.tag-manager-row,.kanban-column-manager-row{align-items:center;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-white)}.tag-manager-row{display:flex}.kanban-column-manager-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto auto}.tag-manager-row>.tag-pills{flex:1}.tag-manager-actions{display:flex;gap:8px}.kanban-column-manager-row .form-input{min-width:0}.kanban-column-manager.is-reordering .kanban-column-manager-row{border-style:dashed;border-color:#ffb1b8}.kanban-column-manager-row.is-dragging{opacity:.35;border-color:var(--color-primary)}.kanban-column-drag-handle{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 12px;border:1px solid #ff9ba5;border-radius:var(--border-radius);background:#fff4f5;color:#c90013;font:inherit;font-size:var(--font-size-xs);font-weight:800;cursor:grab}.kanban-column-drag-handle:active{cursor:grabbing}.kanban-column-drag-handle:disabled{opacity:.45;cursor:not-allowed}.kanban-column-grip,.kanban-column-grip:before,.kanban-column-grip:after{width:4px;height:4px;display:block;border-radius:50%;background:currentColor;box-shadow:8px 0 0 currentColor}.kanban-column-grip{position:relative;margin-right:8px}.kanban-column-grip:before,.kanban-column-grip:after{position:absolute;left:0;content:""}.kanban-column-grip:before{top:-7px}.kanban-column-grip:after{top:7px}.kanban-column-reorder-help{margin:0 0 12px;padding:11px 14px;border:1px solid #ff9ba5;border-radius:var(--border-radius);background:#fff0f1;color:#9f0010;font-size:var(--font-size-xs);font-weight:750}.kanban-column-order-ghost{min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px;border:3px dashed var(--color-primary);border-radius:var(--border-radius);background:#fff0f1;color:#c90013;text-align:center;box-shadow:inset 0 0 0 4px var(--color-white),0 5px 18px #ef00161a}.kanban-column-order-ghost strong{font-size:var(--font-size-sm)}.kanban-column-order-ghost span{font-size:var(--font-size-xs);font-weight:700}@media(max-width:760px){.kanban-column-manager-row{grid-template-columns:92px minmax(0,1fr)}.kanban-column-manager-row>.btn{grid-row:2}.kanban-column-manager-row>.btn:first-of-type{grid-column:1}.kanban-column-manager-row>.btn:last-of-type{grid-column:2}}.module-toolbar{margin:0 0 16px;align-items:flex-end}.module-toolbar-field{min-width:220px;margin-bottom:0}.file-upload-zone{border:2px dashed var(--color-border);border-radius:8px;padding:32px;text-align:center;background:var(--color-border-light);cursor:pointer;transition:border-color .15s,background .15s}.file-upload-zone-active,.file-upload-zone:hover{border-color:var(--color-primary);background:#ef00160a}.files-view-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.files-view-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-white)}.files-view-toggle button{min-height:34px;padding:6px 13px;border:0;border-radius:7px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-xs);font-weight:900;cursor:pointer}.files-view-toggle button.active{background:#fff0f1;color:#e60012}.files-list-card{padding:0;overflow:hidden}.file-visual{min-width:0;display:flex;align-items:center;gap:11px;text-align:left}.file-visual-copy{min-width:0;display:grid;gap:2px}.file-visual-copy strong{min-width:0;overflow:hidden;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap}.file-visual-copy span{color:var(--color-text-muted);font-size:11px;font-weight:700}.file-visual-thumbnail,.file-type-icon{width:42px;height:42px;flex:0 0 42px;border-radius:7px}.file-visual-thumbnail{display:block;object-fit:cover;background:#edf1f6}.file-type-icon{position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid #ffd3d8;background:#fff1f2;color:#d80015;font-size:10px;font-weight:950}.file-type-icon:after{position:absolute;top:0;right:0;width:9px;height:9px;border-left:1px solid #ffd3d8;border-bottom:1px solid #ffd3d8;background:#fff;content:""}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.file-grid-card{min-width:0;min-height:210px;display:flex;flex-direction:column;align-items:stretch;gap:11px;padding:13px;overflow:hidden;border:1px solid var(--color-border);border-radius:9px;background:var(--color-white);color:var(--color-text);font:inherit;cursor:pointer;text-align:left;box-shadow:var(--shadow-sm)}.file-grid-card:hover{border-color:#ff9ba5;box-shadow:var(--shadow-md)}.file-visual-large{display:grid;grid-template-columns:1fr;gap:9px}.file-visual-large .file-visual-thumbnail,.file-visual-large .file-type-icon{width:100%;height:124px;border-radius:6px}.file-visual-large .file-type-icon{font-size:18px}.file-grid-meta{margin-top:auto;color:var(--color-text-muted);font-size:11px;font-weight:750}.file-hover-preview{position:fixed;z-index:1500;padding:8px;border:1px solid #dce3ee;border-radius:9px;background:#fff;box-shadow:0 18px 50px #0f172a3d;pointer-events:none}.file-hover-preview img{width:100%;max-height:210px;display:block;object-fit:contain;border-radius:5px;background:#f4f6f9}.file-hover-preview span{display:block;margin-top:7px;overflow:hidden;color:var(--color-text);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.file-detail-image{margin-bottom:16px;padding:8px;border:1px solid var(--color-border);border-radius:8px;background:#f7f8fb}.file-detail-image img{width:100%;max-height:360px;display:block;object-fit:contain;border-radius:5px}.file-upload-icon{display:inline-flex;align-items:center;justify-content:center;height:36px;min-width:64px;padding:0 14px;border-radius:999px;background:#ef001614;color:var(--color-primary);font-weight:800;margin-bottom:10px}.file-upload-text{color:var(--color-text);font-weight:700;margin:0 0 4px}.file-upload-hint{color:var(--color-text-muted);font-size:13px;margin:0}.pp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.pp-header-left{display:flex;align-items:flex-start;gap:var(--space-3)}.pp-header-title-group{min-width:0}.pp-title{font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.02em;color:var(--color-text);line-height:1.2}.pp-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.pp-header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.pp-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border-light);margin-bottom:var(--space-4);overflow-x:auto}.pp-tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.pp-tab:hover{color:var(--color-text);background:var(--color-bg)}.pp-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.pp-section-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.pp-inline-output-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--color-text-secondary);font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.pp-inline-output-toggle.readonly{cursor:default}.pp-inline-output-toggle input{width:31px;height:18px;position:relative;flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #cbd5e1;border-radius:999px;margin:0;background:#e2e8f0;cursor:inherit;transition:background .15s ease,border-color .15s ease}.pp-inline-output-toggle input:after{width:12px;height:12px;position:absolute;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a3d;content:"";transition:transform .15s ease}.pp-inline-output-toggle input:checked{border-color:var(--color-primary);background:var(--color-primary)}.pp-inline-output-toggle input:checked:after{transform:translate(13px)}.pp-inline-output-toggle input:focus-visible{outline:2px solid rgba(230,0,18,.28);outline-offset:2px}.pp-inline-output-toggle input:disabled{opacity:.72}.pp-inline-output-state{min-width:36px;color:var(--color-text)}.pp-attachment-output-row{display:flex;justify-content:flex-end;margin-bottom:8px}.pp-content{background:var(--color-white);border-radius:var(--border-radius);border:1px solid var(--color-border-light);padding:var(--space-5)}.pp-section{margin-bottom:var(--space-5)}.pp-section:last-child{margin-bottom:0}.pp-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.pp-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text);margin:0;letter-spacing:-.01em}.pp-section-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3) 0}.pp-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);background:var(--color-bg);border-radius:var(--border-radius);border:1px dashed var(--color-border)}.pp-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.pp-info-item{display:flex;flex-direction:column;gap:2px}.pp-info-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.pp-info-value{font-size:var(--font-size-sm);color:var(--color-text)}.pp-glance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}.pp-glance-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--border-radius);padding:var(--space-3);text-align:center}.pp-glance-num{font-size:1.5rem;font-weight:700;color:var(--color-primary);line-height:1}.pp-glance-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.pp-timeline{position:relative;padding-left:20px}.pp-timeline:before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--color-border);border-radius:1px}.pp-timeline-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;position:relative}.pp-timeline-dot{position:absolute;left:-17px;top:14px;width:8px;height:8px;background:var(--color-primary);border-radius:50%;border:2px solid var(--color-white);box-shadow:0 0 0 2px var(--color-primary);flex-shrink:0}.pp-timeline-time{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);min-width:80px;flex-shrink:0}.pp-timeline-end{font-weight:400;color:var(--color-text-secondary)}.pp-timeline-content{flex:1;min-width:0}.pp-timeline-activity{font-size:var(--font-size-sm);color:var(--color-text)}.pp-timeline-notes{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.pp-schedule-table-wrap{overflow-x:auto}.pp-schedule-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.pp-schedule-table th{text-align:left;padding:var(--space-2);font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--color-border-light)}.pp-schedule-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.pp-schedule-row:hover td{background:var(--color-bg)}.pp-schedule-time{font-weight:600;color:var(--color-primary);white-space:nowrap}.pp-schedule-activity{font-weight:500}.pp-schedule-notes{color:var(--color-text-secondary)}.pp-schedule-edit-row td{background:var(--color-bg)}.pp-schedule-add-row td{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-bottom:none}.pp-crew-add{display:flex;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--border-radius);border:1px solid var(--color-border-light);flex-wrap:wrap}.pp-crew-hint{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:700}.pp-crew-dept{margin-bottom:var(--space-4)}.pp-crew-dept-header{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);padding:var(--space-2) var(--space-2);background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:var(--border-radius-sm);margin-bottom:var(--space-1)}.pp-crew-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.pp-crew-email,.pp-crew-phone{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.pp-row-actions-wide{display:flex;gap:6px;align-items:center;justify-content:flex-end}.pp-crew-table th{text-align:left;padding:var(--space-1) var(--space-2);font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.pp-crew-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.pp-crew-table tbody tr:hover td{background:var(--color-bg)}.pp-crew-name{font-weight:500}.pp-crew-phone{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.pp-row-actions{display:flex;gap:4px;justify-content:flex-end}.pp-drag-cell{width:38px;text-align:center;color:var(--color-text-secondary)}.pp-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;border-radius:6px;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,white);cursor:grab;font-weight:900;letter-spacing:-3px;-webkit-user-select:none;user-select:none}.pp-drag-handle:active{cursor:grabbing}.pp-draggable-row{transition:opacity .12s ease,background .12s ease}.pp-draggable-row.pp-row-dragging td{opacity:.52;background:color-mix(in srgb,var(--color-primary) 8%,white)}.pp-drop-target{outline:1px dashed transparent}.pp-drop-target:hover,.pp-drop-target-active{outline-color:color-mix(in srgb,var(--color-primary) 45%,transparent);background:color-mix(in srgb,var(--color-primary) 12%,white)}.pp-drop-ghost-row td{padding:0!important;border-bottom:0!important;background:transparent!important}.pp-drop-ghost{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:34px;padding:4px 8px;pointer-events:none}.pp-drop-ghost:before,.pp-drop-ghost:after{content:"";height:3px;border-radius:999px;background:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 10%,transparent)}.pp-drop-ghost span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 10px;border-radius:999px;color:var(--color-primary);background:#fff1f2;border:1px solid color-mix(in srgb,var(--color-primary) 28%,white);font-size:var(--font-size-xs);font-weight:800;white-space:nowrap}.pp-inline-editable{cursor:pointer;padding:2px 4px;border-radius:var(--border-radius-sm);transition:background .15s}.pp-inline-editable:hover{background:var(--color-bg)}.pp-notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.pp-note-block{display:flex;flex-direction:column;gap:var(--space-1)}.pp-note-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.pp-note-textarea{resize:vertical;min-height:80px;font-size:var(--font-size-sm)!important}.pp-contact-add-form{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--border-radius);border:1px solid var(--color-border-light)}.pp-content-fullplan{padding:0;border:none;background:none}.pp-fullplan{display:flex;flex-direction:column;gap:var(--space-4)}.pp-fp-banner{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;border-top:3px solid var(--color-primary)}.pp-fp-cover{width:100%;aspect-ratio:16 / 5;min-height:170px;max-height:320px;background:#111827;overflow:hidden}.pp-fp-cover img{width:100%;height:100%;object-fit:cover;display:block}.pp-fp-banner-main{padding:var(--space-5) var(--space-6)}.pp-fp-banner-title{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.pp-fp-production-name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin:0;letter-spacing:-.02em}.pp-fp-type-badge{display:inline-flex;align-items:center;padding:2px 10px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:999px;white-space:nowrap}.pp-fp-key-info{display:flex;flex-wrap:wrap;gap:var(--space-5)}.pp-fp-key-item{display:flex;align-items:center;gap:var(--space-2)}.pp-fp-key-item>div{display:flex;flex-direction:column;gap:0}.pp-fp-key-icon{font-size:1.1rem;line-height:1}.pp-fp-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);line-height:1.4}.pp-fp-value{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600;line-height:1.3}.pp-fp-details-grid{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);padding:var(--space-3) var(--space-6);background:var(--color-bg);border-top:1px solid var(--color-border-light)}.pp-fp-detail{display:flex;flex-direction:column;gap:0}.pp-fp-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.pp-fp-card-header{padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border-light)}.pp-fp-card-icon{font-size:.9rem}.pp-fp-card-header--schedule{background:color-mix(in srgb,var(--color-primary) 8%,white);color:var(--color-primary)}.pp-fp-card-header--crew{background:color-mix(in srgb,var(--color-success) 8%,white);color:var(--color-success)}.pp-fp-card-header--equipment{background:color-mix(in srgb,var(--color-warning) 8%,white);color:#b45309}.pp-fp-card-header--contacts{background:color-mix(in srgb,var(--color-info) 8%,white);color:var(--color-info)}.pp-fp-card-header--notes{background:color-mix(in srgb,#8b5cf6 8%,white);color:#7c3aed}.pp-fp-card-header--attachments{justify-content:space-between;background:#f8fafc;color:var(--color-text)}.pp-fp-card-header .pp-inline-output-toggle{margin-left:auto;color:var(--color-text-secondary);letter-spacing:0;text-transform:none}.pp-fp-card-header--equipment,.pp-fp-card-header--contacts{justify-content:flex-start}.pp-fp-card-body{padding:var(--space-4) var(--space-5)}.pp-fp-card-body>.pp-section{margin-bottom:0}.pp-fp-card-body>.pp-section>.pp-section-header{margin-bottom:var(--space-2)}.pp-fp-card-body>.pp-section>.pp-section-header>.pp-section-title{display:none}.pp-fp-card-header--notes+.pp-fp-card-body>.pp-section>.pp-section-header>.pp-section-title{display:none}.pp-fp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:900px){.pp-fp-two-col{grid-template-columns:1fr}}@media(max-width:768px){.app-sidebar{position:fixed;left:-240px;top:0;bottom:0;transition:left .3s;z-index:200}.app-sidebar.open{left:0}.app-content{padding:var(--space-4)}.budget-row{grid-template-columns:30px 60px 1fr 60px 60px 90px 90px 90px 30px;font-size:var(--font-size-xs)}.budget-summary-grid{grid-template-columns:1fr}.budget-controlling-header{flex-direction:column}.budget-controlling-controls{align-items:stretch}.budget-date-range-inputs{flex-wrap:wrap}.budget-date-range-inputs .form-input,.budget-compare-control .form-input{width:100%}.budget-compare-control{grid-template-columns:minmax(90px,1fr) auto}.budget-view-tabs,.budget-period-toggle{width:100%;overflow-x:auto}.budget-empty-state{padding:28px}.kanban-board{flex-direction:column}.kanban-column{max-width:100%;min-width:unset}}.pp-print-only{display:none}.pp-print-header{margin-bottom:14pt;border-bottom:2pt solid #111827;padding-bottom:9pt}.pp-print-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12pt;margin-bottom:10pt}.pp-print-brand-row img{width:118pt;max-height:34pt;object-fit:contain}.pp-print-brand-meta{display:flex;align-items:center;gap:6pt;font-size:7pt;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.pp-print-brand-meta strong{display:inline-flex;padding:3pt 7pt;border-radius:999pt;color:#e60012;background:#fff1f2;border:.5pt solid #fecdd3}.pp-print-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16pt;margin-bottom:8pt}.pp-print-title{font-size:20pt;font-weight:800;color:#111827;margin:0;letter-spacing:0;line-height:1.08}.pp-print-type{display:inline-block;font-size:8pt;font-weight:700;color:#e60012;background:#fff1f2;padding:2pt 7pt;border-radius:999pt;margin-top:5pt;text-transform:uppercase;letter-spacing:0}.pp-print-header-date{text-align:right;flex-shrink:0}.pp-print-date-label{display:block;font-size:7pt;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.pp-print-date-value{font-size:13pt;font-weight:700;color:#111827}.pp-print-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7pt 12pt}.pp-print-meta-item{font-size:8.5pt;color:#1f2937;line-height:1.25;overflow-wrap:anywhere}.pp-print-meta-label{font-weight:700;text-transform:uppercase;font-size:7pt;letter-spacing:.04em;color:#6b7280;display:block}.pp-print-section{margin-bottom:12pt;break-inside:auto;page-break-inside:auto}.pp-print-section-title{display:flex;align-items:center;gap:6pt;font-size:10.5pt;font-weight:800;text-transform:uppercase;letter-spacing:0;color:#111827;margin:0 0 5pt;padding:0 0 4pt;border-bottom:1.25pt solid #e5e7eb}.pp-print-section-title:before{content:"";display:inline-block;width:3pt;height:15pt;border-radius:999pt;background:#e60012}.pp-print-table{width:100%;border-collapse:collapse;font-size:8.1pt;margin-bottom:6pt;table-layout:fixed}.pp-print-table th{text-align:left;padding:4pt 5pt;font-weight:700;font-size:7pt;text-transform:uppercase;letter-spacing:0;color:#6b7280;border-bottom:1.5pt solid #d1d5db;background:#f8fafc}.pp-print-table td{padding:4pt 5pt;border-bottom:.5pt solid #e5e7eb;vertical-align:top;overflow-wrap:anywhere}.pp-print-table tbody tr:nth-child(2n) td{background:#fafafa}.pp-print-time{font-weight:700;color:#e60012;white-space:nowrap}.pp-print-notes-cell{color:#6b7280;font-size:7.5pt}.pp-print-dept{margin-bottom:7pt;break-inside:avoid;page-break-inside:avoid}.pp-print-dept-header{font-size:8pt;font-weight:800;text-transform:uppercase;letter-spacing:0;color:#e60012;padding:3pt 5pt;background:#fff1f2;border-radius:2pt;margin-bottom:2pt}.pp-print-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12pt;align-items:start}.pp-print-two-col>div{break-inside:avoid;page-break-inside:avoid}.pp-print-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:6pt}.pp-print-note{padding:4pt 6pt;border:.5pt solid #e5e7eb;border-radius:2pt;background:#fafafa}.pp-print-note-title{font-size:7pt;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:2pt}.pp-print-note-text{font-size:8pt;color:#374151;white-space:pre-wrap;line-height:1.4}.pp-print-footer{margin-top:16pt;padding-top:6pt;border-top:.5pt solid #d1d5db;font-size:7pt;color:#9ca3af;text-align:center}@media print{.app-sidebar,.bottom-command-bar,.workspace-portal-footer,.footer-user-menu,.footer-user-menu-root,.pp-header,.pp-tabs,.pp-content,.pp-content-fullplan,.modal-overlay{display:none!important}.pp-print-only{display:block!important;position:static!important;width:auto!important;max-width:100%!important;padding:5mm 4mm!important;box-sizing:border-box!important;color:#111827!important}body,html,#root,.app-layout,.app-main,.app-content,.pp-wrapper{background:#fff!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;display:block!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}*{box-shadow:none!important}@page{size:A4;margin:18mm 18mm 18mm 26mm}.pp-print-header{break-inside:avoid;page-break-inside:avoid}.pp-print-section,.pp-print-dept,.pp-print-table{break-inside:auto;page-break-inside:auto}.pp-print-dept-header,.pp-print-section-title{break-after:avoid;page-break-after:avoid}.pp-print-table thead{display:table-header-group}.pp-print-table tbody{display:table-row-group}.pp-print-table tr{break-inside:avoid;page-break-inside:avoid}.pp-print-notes-grid,.pp-print-two-col{break-inside:auto;page-break-inside:auto}.document-attachments-print{margin-top:10mm;padding:0;border:0;box-shadow:none}.document-attachments-print .document-attachment-image{break-inside:avoid}.document-attachments-print .document-pdf-pages figure{break-before:page;break-after:page;break-inside:avoid}.document-attachments-print .document-pdf-pages img{width:100%;max-height:245mm;object-fit:contain;border:0}.document-attachments-print .document-pdf-pages figcaption{display:none}.public-plan-page .document-pdf-pages figure{break-before:page;break-after:page;break-inside:avoid}}:root{--color-bg: #f7f8fb;--color-white: #ffffff;--color-sidebar-bg: #ffffff;--color-sidebar-text: #243047;--color-sidebar-active: #e60012;--color-sidebar-hover: #fff1f2;--color-primary: #e60012;--color-primary-hover: #bf0010;--color-success: #13b86a;--color-danger: #e60012;--color-warning: #ff7a1a;--color-info: #3157d7;--color-text: #111827;--color-text-secondary: #536079;--color-text-muted: #97a0af;--color-border: #dde3ec;--color-border-light: #edf1f6;--sidebar-width: 292px;--border-radius: 10px;--border-radius-sm: 8px;--border-radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 8px 24px rgba(16, 24, 40, .06);--shadow-lg: 0 18px 44px rgba(16, 24, 40, .12)}html,body{background:var(--color-bg)}a:hover{text-decoration:none}.app-layout{background:var(--color-bg)}.app-sidebar{border-right:1px solid #e6ebf2;box-shadow:2px 0 18px #141e3208;padding-bottom:76px}.sidebar-header{padding:24px 20px 18px;border-bottom:0}.sidebar-logo{max-width:210px}.sidebar-org-name{color:#69758b;font-weight:600}.sidebar-create-btn{margin:10px 20px 18px;width:calc(100% - 40px);height:40px;border:0;border-radius:7px;background:#e60012;color:#fff;font-weight:800;letter-spacing:0;box-shadow:0 8px 18px #e600122e}.sidebar-create-btn:hover{background:#c90010;border-color:transparent}.sidebar-nav{padding:0 18px 14px}.sidebar-link{min-height:36px;padding:9px 12px;border-radius:7px;color:#26344f;font-size:14px;font-weight:700}.sidebar-link-label{min-width:0;flex:1}.sidebar-unread-badge{min-width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 auto;margin-left:auto;padding:0 6px;border-radius:999px;background:#e60012;color:#fff;font-size:10px;font-weight:950;line-height:1;box-shadow:0 4px 10px #e600122e}.sidebar-link.active .sidebar-unread-badge{background:#fff;color:#e60012;box-shadow:0 0 0 1px #ffc8ce}.sidebar-section-toggle{position:relative;margin-top:8px}.sidebar-section-toggle.has-action .sidebar-section-main{padding-right:86px}.sidebar-section-label-text{color:#5c6880;font-size:var(--font-size-sm);font-weight:800}.sidebar-section-action{position:absolute;top:50%;right:34px;transform:translateY(-50%);min-width:44px;height:24px;padding:0 10px;border:1px solid #ffc8ce;border-radius:999px;background:#fff;color:#e60012;font-size:11px;font-weight:950;line-height:1;cursor:pointer}.sidebar-section-action:hover{background:#e60012;color:#fff;border-color:#e60012}.workspace-select-button{border-radius:18px;border-color:#dce3ee;box-shadow:0 8px 18px #0f172a0d}.workspace-select-mark,.workspace-select-logo{width:48px;height:48px;flex-basis:48px;border-radius:14px}.workspace-select-mark{background:#ffe2e4;color:#e60012}.workspace-select-mark .sidebar-link-icon{width:24px;height:24px;min-width:24px}.workspace-select-mark .sidebar-link-icon svg{width:22px;height:22px}.sidebar-link-icon{width:21px;min-width:21px;height:21px;color:#e60012}.sidebar-link-icon svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar-link:hover,.sidebar-link.active{background:#fff1f2;color:#e60012}.sidebar-link.active{box-shadow:inset 3px 0 #e60012}.sidebar-link-chevron{color:#7c8798}.sidebar-section-row{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 6px;color:#111827;font-weight:800;font-size:13px}.sidebar-section-row button{width:22px;height:22px;border:0;background:transparent;color:#33415c;cursor:pointer;font-size:18px}.sidebar-project-list{max-height:180px;padding:0 0 4px 10px}.sidebar-project-item{min-height:30px;padding:7px 10px 7px 18px;border-radius:7px;color:#536079;font-size:13px;font-weight:700}.sidebar-project-item:hover,.sidebar-project-item.active{background:#fff1f2;color:#e60012}.production-subnav{display:grid;gap:2px;margin:8px 0 14px 18px;padding-left:10px;border-left:2px solid #ffe2e4}.production-subnav .sidebar-link{min-height:34px;padding:8px 10px;font-size:13px;font-weight:800}.production-subnav .sidebar-link.active{box-shadow:inset 3px 0 #e60012}.sidebar-footer{border-top:1px solid #edf1f6;padding:14px 18px 92px}.sidebar-help{display:block;padding:8px 12px;color:#536079;font-weight:700;font-size:13px}.app-main{background:linear-gradient(180deg,#fbfcfe,#f7f8fb 44%,#f5f7fb)}.app-content{max-width:1760px;margin:0 auto;padding:15px 28px 76px}.page-header{margin-bottom:18px}.page-title{font-size:26px;letter-spacing:0}.page-subtitle{color:#68758c;font-weight:600}.card,.modal,.command-panel,.command-kpi{background:#fffffff5;border:1px solid #dde4ee;border-radius:12px;box-shadow:0 10px 28px #121b2d0a}.card{padding:20px}.card-header{margin-bottom:14px}.card-title{font-size:16px;font-weight:900;color:#111827}.btn{border-radius:8px;border-color:#dce3ee;color:#1f2a44;font-weight:800}.btn:hover{background:#f4f6fa}.btn-primary{background:#e60012;border-color:#e60012;color:#fff;box-shadow:0 8px 18px #e6001229}.btn-primary:hover{background:#c90010}.btn-danger{background:#e60012;border-color:#e60012;color:#fff;box-shadow:0 8px 18px #e6001229}.btn-danger:hover{background:#c90010;border-color:#c90010;color:#fff}.btn-danger:disabled{color:#fff;opacity:.65}.form-input,.form-select,.form-textarea,.search-input{border:1px solid #dbe3ee;border-radius:8px;background:#fff;color:#111827;font-weight:600}.form-input:focus,.form-select:focus,.form-textarea:focus,.search-input:focus{border-color:#e60012;box-shadow:0 0 0 3px #e6001214}.data-table{border-collapse:separate;border-spacing:0}.data-table th{border-bottom:1px solid #dfe6f0;color:#69758b;font-size:12px;letter-spacing:0;background:#fbfcfe}.data-table td{border-bottom:1px solid #edf1f6;font-weight:600}.data-table tr:hover td{background:#fff7f8}.badge{border-radius:999px;border:0;font-weight:900}.badge-success{background:#e8faef;color:#0ba45b}.badge-danger{background:#fff1f2;color:#e60012}.badge-warning{background:#fff2e6;color:#ff6b00}.badge-info{background:#eef3ff;color:#3157d7}.badge-default{background:#f1f4f8;color:#33415c}.modal-overlay{background:#0f172a75;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{border-radius:14px;overflow:hidden;max-height:calc(100vh - 48px)}.modal-header,.modal-footer{border-color:#edf1f6}.bottom-command-bar{position:fixed;left:0;right:0;bottom:0;height:58px;z-index:160;display:grid;grid-template-columns:210px 1fr 210px;align-items:center;gap:18px;padding:8px 14px;background:linear-gradient(180deg,#111820,#080c12);border-top:1px solid rgba(255,255,255,.09);color:#e9eef7;box-shadow:0 -16px 38px #0000003d}.bottom-user{height:42px;display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0d;color:#e9eef7;font:inherit;cursor:pointer;text-align:left}.bottom-user img,.bottom-user span{width:30px;height:30px;border-radius:50%}.bottom-user span{display:grid;place-items:center;background:#e60012;color:#fff;font-size:11px;font-weight:900}.bottom-user strong{font-size:13px}.footer-user-menu-root{position:relative;min-width:0}.footer-user-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none}.footer-user-trigger img,.footer-user-trigger span{flex:0 0 auto}.footer-user-trigger strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-user-menu{position:absolute;left:0;bottom:calc(100% + 10px);width:218px;display:grid;gap:4px;padding:8px;border:1px solid #dbe3ef;border-radius:8px;background:#fff;box-shadow:0 18px 42px #0f172a29;z-index:520}.footer-user-menu-item{min-height:38px;width:100%;display:flex;align-items:center;justify-content:flex-start;border:0;border-radius:8px;padding:0 12px;background:transparent;color:#1f2a44;font:inherit;font-size:13px;font-weight:850;letter-spacing:0;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.footer-user-menu-item:hover{background:#fff1f2;color:#e60012;text-decoration:none}.footer-user-menu-item.danger{background:#fff1f2;color:#e60012}.footer-user-menu-item.danger:hover{background:#e60012;color:#fff}.footer-user-menu-item:disabled{cursor:wait;opacity:.72}.bottom-metrics{display:flex;justify-content:center;gap:6px;min-width:0}.bottom-metrics a{display:inline-flex;align-items:center;gap:8px;color:#d7deea;padding:9px 13px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#ffffff0a;font-weight:800;font-size:13px;white-space:nowrap}.bottom-metrics a span{color:#f4f7fb;font-size:14px}.bottom-metrics a.active,.bottom-metrics a:hover{color:#fff;border-color:#e6001299;background:#e600122e}.bottom-brand{justify-self:end;display:flex;align-items:center}.bottom-brand img{width:164px;max-height:32px;object-fit:contain}.command-center{display:grid;gap:20px}.command-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.command-topbar h1{font-size:28px;font-weight:950;letter-spacing:0;color:#0f172a}.command-topbar p{margin-top:4px;color:#61708a;font-weight:700}.command-actions{display:flex;align-items:center;gap:14px}.notification-button{width:38px;height:38px;border:0;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #dce4ef;position:relative}.notification-button:before{content:"";width:16px;height:12px;border:2px solid #1f2a44;border-radius:4px;display:block;margin:11px auto 0}.notification-button:after{position:absolute;left:12px;top:23px;width:5px;height:5px;border-left:2px solid #1f2a44;border-bottom:2px solid #1f2a44;background:#fff;transform:skewY(-35deg);content:""}.notification-button span{position:absolute;top:-4px;right:-3px;min-width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#e60012;color:#fff;font-size:10px;font-weight:900}.command-search{width:min(440px,40vw);height:46px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#fff;border:1px solid #dce4ef;border-radius:10px;box-shadow:0 4px 14px #121b2d0a}.command-search input{flex:1;min-width:0;border:0;outline:0;color:#243047;font-weight:700}.command-search kbd{color:#536079;background:#f2f5f9;border-radius:5px;padding:2px 6px;font-size:11px;font-weight:900}.command-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.command-kpi{display:flex;align-items:center;gap:18px;min-height:112px;padding:20px;color:inherit;text-decoration:none;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.command-kpi:hover{transform:translateY(-1px);border-color:#d8e0eb;box-shadow:0 14px 34px #0f172a14}.kpi-orb{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;font-weight:950;font-size:20px}.kpi-orb.red{background:#fff1f2;color:#e60012}.kpi-orb.orange{background:#fff2e8;color:#ff6b00}.kpi-orb.dark{background:#f1f4f8;color:#111827}.kpi-label{color:#172033;font-size:13px;font-weight:900}.kpi-value{color:#0f172a;font-size:27px;line-height:1.1;font-weight:950;margin-top:4px}.kpi-detail{color:#61708a;font-size:12px;font-weight:800;margin-top:6px}.command-grid{display:grid;grid-template-columns:1.05fr 1fr 1.2fr;gap:18px}.command-panel{min-height:250px;padding:20px 22px}.command-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.command-panel-header h2{font-size:17px;font-weight:950}.command-panel-header button,.command-panel-header a{border:0;background:transparent;color:#e60012;font-size:12px;font-weight:900;cursor:pointer;text-decoration:none}.command-list,.production-list,.week-list,.resource-list{display:grid}.command-row,.production-row,.week-row,.resource-row{min-height:58px;display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f6;color:inherit;text-decoration:none;transition:background .12s ease}.command-row:hover,.production-row:hover,.week-row:hover,.resource-row:hover{background:#fafbfe}.command-row:last-child,.production-row:last-child,.week-row:last-child,.resource-row:last-child{border-bottom:0}.command-row.compact{min-height:48px}.row-marker{width:28px;height:28px;border-radius:8px;flex:0 0 28px}.tone-0{background:#fff1f2;box-shadow:inset 0 0 0 7px #fff1f2,inset 0 0 0 10px #e60012}.tone-1{background:#fff2e8;box-shadow:inset 0 0 0 7px #fff2e8,inset 0 0 0 10px #ff6b00}.tone-2{background:#eef3ff;box-shadow:inset 0 0 0 7px #eef3ff,inset 0 0 0 10px #3157d7}.tone-3{background:#eafaf1;box-shadow:inset 0 0 0 7px #eafaf1,inset 0 0 0 10px #13b86a}.row-main{flex:1;min-width:0}.row-main strong{display:block;color:#111827;font-size:13px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-main small,.due-text{color:#61708a;font-size:12px;font-weight:700}.task-dot,.calendar-dot{width:12px;height:12px;border-radius:50%;border:2px solid #9aa7bb;flex:0 0 12px}.calendar-dot{border:0;background:#e60012}.calendar-dot.c1{background:#3157d7}.calendar-dot.c2{background:#ff7a1a}.calendar-dot.c3{background:#13b86a}.production-row img,.production-fallback{width:104px;height:74px;border-radius:9px;object-fit:cover;flex:0 0 104px}.production-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#dfe6ef,#9aa7bb);color:#fff;font-size:20px;font-weight:950}.production-fallback.p1{background:linear-gradient(135deg,#b6c5d8,#3157d7)}.production-fallback.p2{background:linear-gradient(135deg,#1f2a44,#e60012)}.progress-track{height:4px;margin-top:8px;border-radius:99px;background:#edf1f6;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:#e60012}.week-row time{width:48px;color:#243047;font-weight:900;font-size:12px}.resource-row{display:grid;grid-template-columns:1fr 44px 140px;gap:12px}.resource-row span,.resource-row strong,.resource-row small{font-weight:900}.resource-row small{color:#61708a;text-align:right}.empty-line{padding:22px 0;color:#7a8699;font-weight:700}.kanban-column,.tagwall-card,.pp-section,.pp-glance-card,.pp-fp-card,.budget-grid,.pp-schedule-table,.pp-crew-table{border-color:#dde4ee!important;box-shadow:0 8px 22px #121b2d0a}.kanban-card,.tagwall-card{border-radius:10px}.budget-sheet-tab.active,.pp-tab-active{color:#e60012;border-bottom-color:#e60012}@media(max-width:1280px){.budget-controlling-controls{grid-template-columns:1fr 1fr}.budget-control-group:nth-child(2){border-right:0}.command-grid{grid-template-columns:1fr}.bottom-command-bar{grid-template-columns:220px 1fr}.bottom-brand{display:none}.budget-summary-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.budget-template-layout{grid-template-columns:1fr}.budget-template-list{border-right:0;border-bottom:1px solid var(--color-border);padding-right:0;padding-bottom:var(--space-3);max-height:220px;overflow:auto}.budget-template-row{grid-template-columns:1fr 1fr}.budget-account-create,.budget-account-plan-head,.budget-account-plan-row{grid-template-columns:1fr}.budget-account-plan-head{display:none}.budget-account-plan-actions{justify-content:flex-start}}@media(max-width:760px){.budget-controlling-controls{grid-template-columns:1fr}.budget-control-group{padding-right:0;border-right:0}.budget-date-range-inputs{align-items:stretch;flex-direction:column}.budget-date-range-inputs .form-input,.budget-refresh-button{width:100%}.calendar-filter-panel{align-items:stretch;flex-direction:column}.calendar-tag-filter{min-width:0}.calendar-month{min-width:720px}.card:has(.calendar-month){overflow-x:auto}.production-member-actions{align-items:stretch;flex-direction:column}}@media(max-width:820px){.app-layout{display:block}.app-sidebar{position:relative;width:100%;min-width:0;height:auto}.app-content{padding:18px 16px 110px}.command-topbar,.command-actions{align-items:stretch;flex-direction:column}.command-search{width:100%}.command-kpis{grid-template-columns:1fr}.chat-thread-list,.chat-panel{min-height:auto}.chat-shell{display:block;height:calc(100dvh - 230px);min-height:520px}.chat-page{height:auto;min-height:0}.chat-thread-list,.chat-panel{height:100%}.chat-shell:not(.thread-open) .chat-panel,.chat-shell.thread-open .chat-thread-list{display:none}.chat-panel-header{display:grid;gap:10px;padding:12px}.chat-panel-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}.chat-panel-actions{grid-column:1 / -1;justify-content:flex-start}.chat-panel-actions .btn{flex:1}.chat-participant-roster{display:grid;gap:7px}.chat-participant-list{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.chat-participant{flex:0 0 auto}.chat-mobile-back{min-height:34px;display:inline-flex;align-items:center;border:1px solid #dbe3ee;border-radius:6px;padding:0 10px;background:#fff;color:#1f2a44;font:inherit;font-size:11px;font-weight:900}.chat-panel-header .chat-avatar-stack{display:none}.chat-message{max-width:94%}.chat-new-meta,.chat-staff-picker{grid-template-columns:1fr}.bottom-command-bar{grid-template-columns:1fr;height:auto}.bottom-user,.bottom-brand{display:none}.bottom-metrics{overflow-x:auto;justify-content:flex-start}}.fo-tabs{display:inline-flex;gap:6px;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-white)}.fo-tabs button,.segmented-control button{border:0;background:transparent;color:var(--color-text-secondary);font-weight:700;border-radius:8px;padding:9px 14px;cursor:pointer}.fo-tabs button.active,.segmented-control button.active{background:#fff1f2;color:#e60012}.guest-booking-shell{display:flex;flex-direction:column;gap:18px}.guest-booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.segmented-control{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-white)}.guest-booking-nav{display:flex;align-items:center;gap:10px}.guest-booking-nav strong{min-width:170px;text-align:center}.guest-calendar{display:grid;gap:12px}.guest-calendar-range{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.guest-calendar-month{grid-template-columns:repeat(7,minmax(130px,1fr))}.guest-calendar-day{container-type:inline-size;min-height:170px;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:12px;box-shadow:var(--shadow-sm)}.guest-calendar-day.outside{opacity:.52}.guest-calendar-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;font-weight:800}.guest-calendar-day-head strong{color:var(--color-text);font-size:var(--font-size-lg)}.guest-calendar-list{display:flex;flex-direction:column;gap:8px}.guest-calendar-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:10px 0}.guest-booking-card{display:grid;grid-template-columns:64px minmax(180px,1fr) auto auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #ffd6dc;background:#fff7f8;border-radius:8px;cursor:pointer}.guest-booking-card .btn{grid-column:auto;justify-self:end;min-width:148px;min-height:38px;padding:8px 16px;font-size:var(--font-size-sm);font-weight:900}.guest-calendar-month .guest-booking-card{grid-template-columns:48px minmax(0,1fr)}.guest-calendar-month .guest-booking-card-main{flex-direction:column;align-items:flex-start;gap:2px}.guest-calendar-month .guest-acceptance,.guest-calendar-month .guest-delivery-chip-row,.guest-calendar-month .guest-booking-card .btn{grid-column:1 / -1}.guest-calendar-month .guest-booking-card .btn{justify-self:stretch}.guest-booking-card-time{color:#e60012;font-weight:900;font-size:var(--font-size-sm)}.guest-booking-card-main{min-width:0;display:flex;flex-direction:row;align-items:baseline;gap:12px}.guest-booking-card-main strong,.guest-booking-card-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-booking-card-main span{min-width:0;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.guest-acceptance{width:fit-content;white-space:nowrap;padding:3px 8px;border-radius:999px;font-size:var(--font-size-xs);font-weight:800}.guest-acceptance.accepted{color:#067647;background:#dcfce7}.guest-acceptance.pending{color:#b42318;background:#fee2e2}.guest-delivery-chip-row{display:flex;flex-wrap:nowrap;gap:6px}.guest-delivery-chip{width:fit-content;white-space:nowrap;padding:3px 8px;border-radius:999px;font-size:var(--font-size-xs);font-weight:800;background:#f1f5f9;color:var(--color-text-secondary)}.guest-delivery-chip.sent{background:#dcfce7;color:#067647}.guest-delivery-chip.failed{background:#fee2e2;color:#b42318}@container (max-width: 760px){.guest-booking-card{grid-template-columns:64px minmax(0,1fr) auto}.guest-booking-card-time{grid-column:1;grid-row:1}.guest-booking-card-main{grid-column:2;grid-row:1;flex-wrap:wrap}.guest-acceptance{grid-column:3;grid-row:1;justify-self:end}.guest-delivery-chip-row{grid-column:1 / 3;grid-row:2;flex-wrap:wrap}.guest-booking-card .btn{grid-column:3;grid-row:2}}@container (max-width: 520px){.guest-booking-card{grid-template-columns:56px minmax(0,1fr)}.guest-booking-card-main{grid-column:2;flex-direction:column;align-items:flex-start;gap:2px}.guest-acceptance,.guest-delivery-chip-row,.guest-booking-card .btn{grid-column:1 / -1}.guest-acceptance{grid-row:2;justify-self:start}.guest-delivery-chip-row{grid-row:3}.guest-booking-card .btn{grid-row:4;justify-self:stretch}}.guest-delivery-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-white);box-shadow:var(--shadow-sm)}.guest-delivery-notice.success{border-color:#bbf7d0;background:#f0fdf4}.guest-delivery-notice.warning{border-color:#fed7aa;background:#fff7ed}.guest-delivery-notice.neutral{background:#f8fafc}.guest-delivery-notice strong{display:block;margin-bottom:4px}.guest-delivery-notice p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.guest-delivery-list{display:grid;gap:8px;margin-top:12px}.guest-delivery-result{display:grid;grid-template-columns:124px minmax(0,1fr);align-items:start;gap:14px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:#ffffffb8;font-size:var(--font-size-sm)}.guest-delivery-status{display:flex;align-items:center;justify-content:space-between;gap:8px}.guest-delivery-status strong{margin:0;color:#b42318}.guest-delivery-result.sent .guest-delivery-status strong{color:#067647}.guest-delivery-copy{min-width:0;display:grid;gap:4px}.guest-delivery-copy strong{margin:0;color:var(--color-text)}.guest-delivery-copy span,.guest-delivery-copy small{color:var(--color-text-secondary)}.guest-delivery-copy details{margin-top:4px}.guest-delivery-copy summary{cursor:pointer;color:var(--color-text-secondary);font-weight:800}.guest-delivery-copy code{display:block;margin-top:6px;max-height:86px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary);background:#f8fafc;border:1px solid var(--color-border);border-radius:6px;padding:8px}.guest-form-error{padding:10px 12px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b42318;font-weight:800}.phone-input-grid{display:grid;grid-template-columns:minmax(92px,112px) minmax(140px,1fr);gap:var(--space-3)}.guest-link-grid{display:grid;grid-template-columns:minmax(180px,260px) minmax(240px,1fr);gap:var(--space-4)}.guest-earlier-panel{display:grid;gap:8px}.guest-earlier-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:1px dashed #ffd6dc;border-radius:8px;background:#fff;color:var(--color-text-secondary);font-weight:900;cursor:pointer}.guest-earlier-toggle strong{min-width:26px;height:22px;display:inline-grid;place-items:center;border-radius:999px;background:#fff1f2;color:#e60012}.guest-earlier-list{display:grid;gap:8px}.guest-message-collapsed,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.guest-message-collapsed p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.guest-booking-form{display:grid;gap:14px}.guest-booking-form section{border:1px solid var(--color-border);border-radius:8px;padding:14px}.guest-booking-form h3,.settings-grid h3{margin:0 0 10px}.guest-search-field{position:relative}.guest-suggestions{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;display:flex;flex-direction:column;gap:4px;max-height:260px;overflow:auto;margin-top:0;padding:6px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-white);box-shadow:0 18px 40px #0f172a24}.guest-suggestions button,.template-card{border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);border-radius:8px;padding:10px 12px;text-align:left;cursor:pointer}.guest-suggestions button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.guest-suggestions span,.guest-suggestions small{min-width:0;overflow:hidden;text-overflow:ellipsis}.guest-suggestions small{color:var(--color-text-muted);white-space:nowrap}.checkbox-card{min-height:42px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-white);font-weight:700}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.template-card{min-height:128px;display:flex;flex-direction:column;gap:8px}.template-card:hover{border-color:#e60012;box-shadow:var(--shadow-md)}.template-card span{width:fit-content;color:#e60012;background:#fff1f2;border-radius:999px;padding:3px 8px;font-size:var(--font-size-xs);font-weight:800}.template-card p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.settings-actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.link-preset-admin{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:18px}.link-preset-list{display:grid;align-content:start;gap:8px}.link-preset-list button{display:grid;gap:4px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-white);color:var(--color-text);text-align:left;cursor:pointer}.link-preset-list button.active{border-color:#e60012;background:#fff1f2}.link-preset-list span{min-width:0;overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.link-preset-form{display:grid;align-content:start;gap:14px}.crew-message-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.crew-message-meta div{display:grid;gap:3px;min-width:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.crew-message-meta strong{color:var(--color-text);font-size:var(--font-size-xs)}.crew-message-meta span{min-width:0;overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.crew-message-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.crew-message-card{display:grid;align-content:start;gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.pp-section-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.team-message-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.team-message-summary>div{display:grid;gap:3px;padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white)}.team-message-summary strong{color:var(--color-text);font-size:var(--font-size-xl)}.team-message-summary span,.team-message-link-warning span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.team-message-link-warning{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding:12px 14px;border:1px solid #fca5a5;border-radius:var(--border-radius-sm);background:#fff1f2}.team-message-link-warning>div{display:grid;gap:3px}.booking-toolbar{display:grid;grid-template-columns:auto minmax(260px,1fr) minmax(170px,220px);gap:var(--space-3);align-items:center;margin-bottom:var(--space-4)}.booking-title-cell,.booking-title-cell span,.booking-asset-count,.asset-booking-history button span,.scan-booking-row span{display:grid;gap:2px}.booking-title-cell span,.booking-asset-count,.asset-next-booking{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.booking-asset-count{display:flex;flex-wrap:wrap;gap:6px}.booking-asset-count span{padding:3px 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-white)}.booking-form{display:grid;gap:var(--space-5)}.booking-details-section,.booking-assets-picker{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white)}.booking-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.booking-section-heading>div{display:grid;gap:3px}.booking-section-heading h3{margin:0;font-size:var(--font-size-md)}.booking-section-heading span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.booking-section-heading>strong{color:var(--color-primary);font-size:var(--font-size-sm);white-space:nowrap}.booking-details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.booking-details-grid .form-group{min-width:0;margin:0}.booking-title-field{grid-column:span 2}.booking-notes-field{grid-column:1 / -1}.booking-period-band{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr) minmax(150px,auto);gap:var(--space-3);align-items:end;padding:var(--space-4);border:1px solid #fecdd3;border-radius:var(--border-radius);background:#fff7f8}.booking-period-band .form-group{margin:0}.booking-period-arrow{padding-bottom:14px;color:var(--color-text-secondary);font-weight:800}.booking-duration{display:grid;gap:2px;align-content:center;min-height:46px;padding:8px 12px;border-left:2px solid var(--color-primary)}.booking-duration span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.booking-form-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.booking-assets-picker{display:grid;gap:var(--space-3)}.booking-assets-picker-head{display:grid;grid-template-columns:auto minmax(320px,1fr);align-items:center;gap:var(--space-3)}.booking-asset-search{position:relative;min-width:0}.booking-asset-search>.form-input{width:100%}.booking-asset-results{position:absolute;top:calc(100% + 5px);right:0;left:0;z-index:40;max-height:min(52dvh,520px);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);box-shadow:0 18px 45px #0f172a2e;overflow-y:auto}.booking-search-group>strong{position:sticky;top:0;z-index:1;display:block;padding:8px 12px;border-bottom:1px solid var(--color-border);background:#f8fafc;color:var(--color-text-secondary);font-size:10px;font-weight:900;text-transform:uppercase}.booking-search-group button{display:grid;grid-template-columns:40px minmax(0,1fr) auto;width:100%;align-items:center;gap:10px;padding:8px 12px;border:0;border-bottom:1px solid #edf1f6;background:#fff;color:var(--color-text);text-align:left;cursor:pointer}.booking-search-group button:hover:not(:disabled){background:#fff5f6}.booking-search-group button:disabled{cursor:not-allowed;opacity:.5}.booking-search-group button.already-added{opacity:.48;background:#f8fafc;cursor:default}.booking-search-group button>span:nth-child(2){display:grid;min-width:0;gap:2px}.booking-search-group button b,.booking-search-group button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-search-group button small{color:var(--color-text-secondary);font-size:10px}.booking-search-group button em{color:#b91c1c;font-size:10px;font-style:normal;font-weight:800}.booking-search-group button>strong:last-child{color:var(--color-primary);font-size:11px;text-transform:capitalize}.booking-search-message{padding:20px;color:var(--color-text-secondary);text-align:center}.booking-asset-thumb{width:40px;height:40px;border-radius:5px;background:#e8edf5;object-fit:cover}.booking-asset-thumb-fallback{display:grid;place-items:center;color:#59667e;font-size:10px;font-weight:900}.booking-conflict-notice{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #fdba74;border-radius:var(--border-radius-sm);background:#fff7ed;color:#9a3412}.booking-conflict-notice span{font-size:var(--font-size-xs)}.booking-conflict-board{display:grid;gap:10px;padding:12px;border:1px solid #fecaca;border-radius:var(--border-radius-sm);background:snow}.booking-conflict-board-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-conflict-board-heading>strong{color:#b91c1c}.booking-conflict-board-heading>span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.booking-conflict-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.booking-conflict-card{display:grid;align-content:start;gap:6px;padding:12px;border:1px solid #fca5a5;border-left:4px solid #dc2626;border-radius:6px;background:#fff;box-shadow:0 6px 16px #b91c1c0f}.booking-conflict-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b91c1c;font-size:10px;font-weight:900;text-transform:uppercase}.booking-conflict-card h4{margin:0;font-size:var(--font-size-sm)}.booking-conflict-card>p{margin:0;color:var(--color-text-secondary);font-size:11px}.booking-conflict-assets{display:flex;flex-wrap:wrap;gap:6px;padding-top:7px;border-top:1px solid #fee2e2}.booking-conflict-assets>strong{width:100%;color:#7f1d1d;font-size:10px;text-transform:uppercase}.booking-conflict-assets>span{display:grid;gap:1px;padding:5px 7px;border-radius:5px;background:#fff1f2}.booking-conflict-assets b{font-size:11px}.booking-conflict-assets small{color:#9f1239;font-size:9px}.booking-manifest-list{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden}.booking-manifest-empty{margin:0;padding:24px;color:var(--color-text-secondary);text-align:center}.booking-manifest-group h4{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 12px;border-top:1px solid #fecdd3;background:#fff0f1;color:#b90012;font-size:11px;text-transform:uppercase}.booking-manifest-group:first-child h4{border-top:0}.booking-manifest-group h4 span{min-width:24px;padding:2px 6px;border-radius:999px;background:#fff;text-align:center}.booking-manifest-columns,.booking-manifest-row{display:grid;grid-template-columns:minmax(220px,1.45fr) minmax(120px,.65fr) minmax(95px,.45fr) minmax(260px,1fr) 176px;gap:12px;align-items:center}.booking-manifest-columns{padding:7px 12px;border-bottom:1px solid var(--color-border);background:#f8fafc;color:var(--color-text-secondary);font-size:10px;font-weight:900;text-transform:uppercase}.booking-manifest-row{min-height:58px;padding:8px 12px;border-bottom:1px solid var(--color-border)}.booking-manifest-row:last-child{border-bottom:0}.booking-manifest-row.has-conflict{background:snow}.booking-manifest-asset{display:flex;min-width:0;align-items:center;gap:10px}.booking-manifest-asset>span,.booking-manifest-row>div:nth-child(2){display:grid;min-width:0;gap:2px}.booking-manifest-asset strong,.booking-manifest-asset small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-manifest-row small{color:var(--color-text-secondary);font-size:10px}.booking-manifest-conflicts{display:grid;gap:4px}.booking-manifest-conflicts>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;color:#b91c1c;font-size:10px}.booking-manifest-conflicts>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-manifest-conflicts>span{color:var(--color-text-secondary);font-size:10px}.booking-manifest-row .btn-small{min-height:30px;padding:4px 8px;color:var(--color-primary)}.booking-manifest-actions{display:flex;justify-content:flex-end;gap:6px}.booking-asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);max-height:365px;overflow:auto;padding:2px}.booking-asset-option{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 10px;min-height:76px;padding:10px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);color:var(--color-text);text-align:left;cursor:pointer}.booking-asset-option.selected{border:2px solid var(--color-primary);background:#fff1f2}.booking-asset-option.unavailable{opacity:.56;cursor:not-allowed}.booking-asset-option img,.booking-asset-image-fallback{grid-row:1 / 3;width:54px;height:54px;border-radius:6px;object-fit:cover}.booking-asset-image-fallback{display:grid;place-items:center;background:#e8edf5;color:#59667e;font-weight:900}.booking-asset-option strong{align-self:end;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-asset-option small{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-asset-check{position:absolute;top:5px;right:5px;padding:2px 5px;border-radius:4px;background:#eef2f7;color:var(--color-text-secondary);font-size:9px;font-weight:900;text-transform:uppercase}.booking-asset-option.selected .booking-asset-check{background:var(--color-primary);color:#fff}.booking-selection{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius);background:#f8fafc}.booking-selection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.booking-selection-head h3{margin:0;font-size:var(--font-size-md)}.booking-selection-head span{min-width:28px;padding:4px 8px;border-radius:999px;background:var(--color-primary);color:#fff;text-align:center;font-weight:900}.booking-selection>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.booking-selection button{display:flex;gap:8px;align-items:center;padding:7px 9px;border:1px solid #fda4af;border-radius:6px;background:#fff;color:var(--color-text);cursor:pointer}.booking-selection button span{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:800}.booking-selection.locked button{border-color:var(--color-border);cursor:default;opacity:1}.booking-selection.locked button span{color:var(--color-text-secondary)}.booking-manifest-lock{display:grid;gap:4px;padding:13px 15px;border:1px solid #fdba74;border-radius:var(--border-radius);background:#fff7ed;color:#9a3412}.booking-manifest-lock span{color:#7c2d12;font-size:var(--font-size-sm)}.booking-extra-fields{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.booking-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.booking-detail-meta>div{display:grid;gap:5px;padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.booking-detail-meta>div>span:first-child{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase}.booking-detail-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.booking-detail-notes p{display:grid;gap:4px;margin:0;padding:12px;background:#f8fafc;border-radius:var(--border-radius-sm)}.booking-detail-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.booking-detail-assets>div{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm)}.booking-detail-assets img,.booking-detail-assets>div>span{width:48px;height:48px;border-radius:6px;object-fit:cover;display:grid;place-items:center;background:#e8edf5;font-weight:900}.booking-detail-assets div div{display:grid;gap:3px}.booking-detail-assets small{color:var(--color-text-secondary)}.booking-detail-assets .removed-from-manifest{border-color:#fdba74;background:#fff7ed}.booking-detail-assets .removed-from-manifest small{color:#9a3412;font-weight:800}.booking-calendar{border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white);overflow:hidden}.booking-calendar-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.booking-calendar-head h2{margin:0;font-size:var(--font-size-lg)}.booking-calendar-weekdays,.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.booking-calendar-weekdays span{padding:10px;background:#f1f5f9;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-align:center}.booking-calendar-grid>div{min-height:128px;padding:8px;border-top:1px solid var(--color-border);border-right:1px solid var(--color-border)}.booking-calendar-grid>div:nth-child(7n){border-right:0}.booking-calendar-grid>div.outside{background:#f8fafc;color:#9aa5b7}.booking-calendar-grid>div>strong{display:block;margin-bottom:6px}.booking-calendar-grid button{display:grid;width:100%;gap:2px;margin-bottom:4px;padding:5px 6px;border:1px solid #fda4af;border-radius:5px;background:#fff1f2;color:var(--color-text);text-align:left;cursor:pointer;font-size:11px}.booking-calendar-grid button span{color:var(--color-primary);font-weight:900}.asset-timeline-module{display:grid;gap:var(--space-3)}.asset-timeline-controls{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(180px,.8fr) minmax(180px,.8fr) auto;gap:var(--space-3);align-items:end;padding:14px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff}.asset-timeline-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.asset-timeline-dates>div{display:grid;gap:5px}.asset-timeline-dates label,.asset-timeline-slider label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.asset-timeline-slider{display:grid;gap:8px}.asset-timeline-slider label{display:flex;justify-content:space-between;gap:10px}.asset-timeline-slider label strong{color:var(--color-primary)}.asset-timeline-slider input{width:100%;accent-color:var(--color-primary)}.asset-timeline-filters{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(180px,220px);gap:var(--space-3);align-items:center}.asset-timeline-types{display:flex;gap:6px}.asset-timeline-types label{position:relative;min-height:40px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:800;cursor:pointer}.asset-timeline-types label.active{border-color:var(--color-primary);background:#fff0f1;color:var(--color-primary)}.asset-timeline-types input{position:absolute;width:1px;height:1px;opacity:0}.asset-timeline-scroll{max-height:660px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff;overflow:auto}.asset-timeline-table{min-width:100%}.asset-timeline-header,.asset-timeline-row{display:grid;grid-template-columns:280px minmax(0,1fr)}.asset-timeline-header{position:sticky;top:0;z-index:5;min-height:60px;border-bottom:1px solid var(--color-border);background:#f8fafc}.asset-timeline-asset-heading{position:sticky;left:0;z-index:7;display:flex;align-items:center;padding:0 14px;border-right:1px solid var(--color-border);background:#f8fafc;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.asset-timeline-day-track{display:grid}.asset-timeline-day-track>div{display:grid;place-content:center;gap:2px;border-right:1px solid var(--color-border);text-align:center}.asset-timeline-day-track strong{font-size:11px;text-transform:uppercase}.asset-timeline-day-track span{color:var(--color-text-secondary);font-size:10px}.asset-timeline-day-track>div.today{background:#fff0f1;color:var(--color-primary)}.asset-timeline-row{min-height:66px;border-bottom:1px solid var(--color-border)}.asset-timeline-row:last-child{border-bottom:0}.asset-timeline-asset{position:sticky;left:0;z-index:3;display:flex;align-items:center;padding:8px 12px;border-right:1px solid var(--color-border);background:#fff}.asset-timeline-asset>div{display:flex;min-width:0;gap:10px;align-items:center}.asset-timeline-asset img,.asset-timeline-asset>div>span{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:5px;background:#e8edf5;object-fit:cover;font-size:11px;font-weight:900}.asset-timeline-asset>div>div{display:grid;min-width:0;gap:3px}.asset-timeline-asset strong,.asset-timeline-asset small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-timeline-asset small{color:var(--color-text-secondary);font-size:10px}.asset-timeline-lane{position:relative;min-height:65px;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% - 1px),#e6ebf2 calc(100% - 1px),#e6ebf2 100%)}.asset-timeline-booking{position:absolute;top:10px;height:44px;display:grid;align-content:center;gap:2px;min-width:24px;padding:5px 9px;border:1px solid #fda4af;border-radius:5px;background:#fff0f1;color:#b90012;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 3px 10px #0f172a14}.asset-timeline-booking strong,.asset-timeline-booking span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-timeline-booking strong{font-size:11px}.asset-timeline-booking span{font-size:9px}.asset-timeline-booking.status-tentative{border-color:#fdba74;background:#fff7ed;color:#9a3412}.asset-timeline-booking.status-checked_out,.asset-timeline-booking.status-partially_checked_out{border-color:#fb7185;background:#ffe4e6;color:#9f1239}.asset-timeline-booking.status-returned{border-color:#86efac;background:#f0fdf4;color:#166534}.asset-timeline-booking.status-cancelled{border-color:#cbd5e1;background:#f1f5f9;color:#64748b;text-decoration:line-through}.asset-timeline-no-assets{position:sticky;left:0;width:min(100vw,600px);padding:30px;color:var(--color-text-secondary)}.asset-form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:var(--space-5)}.asset-booking-history{align-self:start;padding-left:var(--space-4);border-left:1px solid var(--color-border)}.asset-booking-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.asset-booking-history-head h3{margin:0}.asset-booking-history-head span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.asset-booking-history button,.scan-booking-row{display:flex;width:100%;justify-content:space-between;gap:var(--space-3);padding:10px 0;border:0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.asset-booking-history button>span:last-child{text-align:right}.asset-booking-history button small{color:var(--color-text-secondary);text-transform:capitalize}.qr-label-settings{display:grid;grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius);background:#f8fafc}.qr-label-options{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(360px,1.15fr);align-items:end;gap:var(--space-4)}.qr-label-options .form-group{min-width:0;margin:0}.asset-code-mode{width:100%;flex-wrap:nowrap;white-space:nowrap}.asset-code-mode button{flex:1 1 0;padding-inline:10px}.qr-label-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr);min-width:0;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.qr-label-summary strong{color:var(--color-text);font-size:var(--font-size-sm)}.qr-label-summary span{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.45}.qr-label-preview-section{margin-top:var(--space-5)}.qr-label-preview-head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.qr-label-preview-head div{display:grid;gap:3px}.qr-label-preview-head span{color:var(--color-text-secondary);font-size:11px;font-weight:900;text-transform:uppercase}.qr-label-preview-head h3{margin:0;font-size:var(--font-size-base)}.qr-label-preview-head>strong{color:#e60012;font-size:var(--font-size-xs)}.qr-label-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:var(--space-3)}.qr-label-preview{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:136px;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);box-shadow:0 6px 18px #121b2d0a}.qr-label-preview.mode-barcode{grid-template-columns:1fr}.qr-label-preview-codes{display:flex;align-items:center;justify-content:center}.qr-label-preview-codes .qr-code,.qr-placeholder{width:88px;height:88px;flex:none;object-fit:contain;background:#f1f5f9}.qr-label-preview-copy{display:flex;min-width:0;justify-content:center;flex-direction:column;gap:5px}.qr-label-preview-copy>strong{overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-base)}.qr-label-preview-copy>span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.qr-label-preview-copy>small{color:#e60012;font-size:11px;font-weight:900}.qr-label-preview-copy .barcode-code,.barcode-placeholder{display:block;width:100%;height:48px;min-width:0;object-fit:fill;margin-top:5px;background:#f1f5f9}.qr-label-preview.mode-barcode .qr-label-preview-copy .barcode-code{height:62px;object-fit:contain}.scan-asset-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:var(--space-4)}.scan-asset-profile{display:grid;align-content:start;justify-items:start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white)}.scan-asset-profile>img,.scan-asset-profile>span:first-child{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:grid;place-items:center;background:#e8edf5;font-size:48px;font-weight:900}.scan-asset-profile dl{display:grid;grid-template-columns:auto 1fr;gap:8px 15px;width:100%;margin:0}.scan-asset-profile dt{color:var(--color-text-secondary);font-weight:800}.scan-asset-profile dd{margin:0}.scan-asset-layout .card{padding:var(--space-4)}@media(max-width:1100px){.booking-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-manifest-columns,.booking-manifest-row{grid-template-columns:minmax(210px,1.2fr) minmax(110px,.6fr) 90px minmax(210px,1fr) 158px}.booking-asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-detail-assets{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-timeline-controls{grid-template-columns:1fr 1fr}.asset-timeline-filters{grid-template-columns:1fr auto}.asset-timeline-filters>.form-select{grid-column:2;grid-row:1}}@media(max-width:768px){.booking-toolbar,.booking-form-details,.booking-detail-meta,.booking-detail-notes,.asset-form-layout,.scan-asset-layout,.booking-period-band,.booking-details-grid{grid-template-columns:1fr}.booking-title-field,.booking-notes-field{grid-column:auto}.booking-period-arrow{display:none}.booking-duration{border-left:0;border-top:2px solid var(--color-primary)}.booking-assets-picker-head{grid-template-columns:1fr;align-items:stretch}.booking-assets-picker-head .segmented-control{overflow-x:auto}.booking-section-heading,.booking-conflict-notice{align-items:flex-start;flex-direction:column}.booking-manifest-columns{display:none}.booking-manifest-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.booking-manifest-row>div:nth-child(2),.booking-manifest-row>div:nth-child(3){display:flex;align-items:center;gap:7px}.booking-manifest-conflicts{grid-column:1 / -1}.booking-manifest-row>div:last-child{grid-column:2;grid-row:1}.booking-manifest-actions{align-items:flex-end;flex-direction:column}.booking-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px}.booking-detail-assets,.qr-label-preview-grid,.qr-label-settings,.qr-label-options,.qr-label-summary{grid-template-columns:1fr}.asset-code-mode{width:100%}.asset-timeline-controls,.asset-timeline-filters{grid-template-columns:1fr}.asset-timeline-filters>.form-select{grid-column:auto;grid-row:auto}.asset-timeline-types{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.asset-timeline-types label{flex:0 0 auto}.asset-booking-history{padding:var(--space-4) 0 0;border-top:1px solid var(--color-border);border-left:0}.booking-calendar{overflow-x:auto}.booking-calendar-weekdays,.booking-calendar-grid{min-width:760px}}@media(max-width:480px){.booking-asset-grid{grid-template-columns:1fr}}.checkbox-row{display:flex;gap:9px;align-items:center;color:var(--color-text);font-weight:800}.delivery-feedback{display:grid;gap:8px;margin-bottom:16px;padding:14px;border-radius:8px;border:1px solid var(--color-border)}.delivery-feedback-success{border-color:#86efac;background:#f0fdf4}.delivery-feedback-warning{border-color:#fed7aa;background:#fff7ed}.delivery-feedback-title{color:var(--color-text);font-size:var(--font-size-md);font-weight:900}.delivery-feedback-summary,.delivery-feedback-error{color:var(--color-text-secondary);font-weight:700}.delivery-feedback-row{display:grid;grid-template-columns:70px 86px 150px minmax(0,1fr);gap:12px;align-items:center;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.delivery-feedback-row code,.delivery-feedback-row span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-ok{color:#15803d}.status-failed{color:#b91c1c}.message-template-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:18px}.message-template-list{display:grid;align-content:start;gap:8px}.message-template-list-item{display:grid;gap:4px;padding:12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text);text-align:left;cursor:pointer}.message-template-list-item.active{border-color:#e60012;background:#fff1f2;color:#e60012}.message-template-list-item span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase}.message-template-form{display:grid;align-content:start;gap:12px}.template-vars{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:700;line-height:1.6}.options-manager{display:grid;gap:16px}.options-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.options-list{display:grid;gap:8px}.options-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.options-row-label{overflow:hidden;border:0;background:transparent;color:var(--color-text);cursor:pointer;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap}.card-image-mosaic{height:148px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px;margin:calc(var(--space-3) * -1) calc(var(--space-3) * -1) var(--space-3);overflow:hidden;border-radius:9px 9px 4px 4px;background:#e9edf3}.tagwall-card>.card-image-mosaic{margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-4);border-radius:3px 3px 1px 1px}.card-image-mosaic-1 .card-image-mosaic-cell{grid-column:1 / -1;grid-row:1 / -1}.card-image-mosaic-2 .card-image-mosaic-cell,.card-image-mosaic-3 .card-image-mosaic-cell:first-child{grid-row:1 / -1}.card-image-mosaic-cell{position:relative;min-width:0;min-height:0;overflow:hidden}.card-image-mosaic-cell img{width:100%;height:100%;display:block;object-fit:cover}.card-image-mosaic-more{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0f172a9e;color:#fff;font-size:22px;font-weight:900}.mobile-app-header,.mobile-sidebar-close,.mobile-nav-backdrop{display:none}@media(max-width:920px){.guest-booking-toolbar,.guest-booking-nav{align-items:stretch;flex-direction:column}.guest-calendar-month,.guest-link-grid,.link-preset-admin,.message-template-layout,.crew-message-grid,.crew-message-meta,.delivery-feedback-row,.project-overview-card-grid,.options-add-row,.options-row{grid-template-columns:1fr}.guest-booking-card{grid-template-columns:56px minmax(0,1fr)}.guest-booking-card-main{flex-direction:column;align-items:flex-start;gap:2px}.guest-acceptance,.guest-delivery-chip-row,.guest-booking-card .btn{grid-column:1 / -1}.guest-booking-card .btn{justify-self:stretch}}@media(max-width:820px){html,body,#root{width:100%;min-width:0}body.mobile-nav-open{overflow:hidden}.app-layout{display:block;height:100dvh;overflow:hidden}.app-main{width:100%;height:100dvh;padding-bottom:60px;overflow-x:hidden;overflow-y:auto}.app-content{width:100%;max-width:none;padding:16px 14px 96px}.mobile-app-header{position:sticky;top:0;z-index:90;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid #e3e8f0;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-app-header>strong{color:#111827;font-size:14px}.mobile-menu-button,.mobile-sidebar-close{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 13px;border:1px solid #ffb5bc;border-radius:8px;background:#fff4f5;color:#d70015;font:inherit;font-size:13px;font-weight:900}.mobile-menu-lines,.mobile-menu-lines:before,.mobile-menu-lines:after{width:17px;height:2px;display:block;border-radius:2px;background:currentColor}.mobile-menu-lines{position:relative}.mobile-menu-lines:before,.mobile-menu-lines:after{position:absolute;left:0;content:""}.mobile-menu-lines:before{top:-5px}.mobile-menu-lines:after{top:5px}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:310;width:min(88vw,340px);min-width:0;height:100dvh;display:flex;transform:translate(-105%);transition:transform .22s ease;box-shadow:18px 0 48px #0f172a3d}.app-sidebar.open{left:0;transform:translate(0)}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:block;border:0;background:#0f172a7a}.sidebar-header{display:grid;gap:10px;padding:12px}.mobile-sidebar-close{width:100%}.sidebar-nav{padding-bottom:80px}.sidebar-link{min-height:44px}.page-header{align-items:stretch;margin-bottom:16px;gap:12px}.page-header>div:first-child{width:100%;min-width:0}.page-title{font-size:24px;overflow-wrap:anywhere}.page-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.page-actions>.btn{width:100%;min-height:44px;white-space:normal}.card{padding:14px;border-radius:9px}.card-grid,.project-overview-card-grid,.stats-grid,.settings-grid,.messages-grid,.workspace-overview-grid,.public-plan-grid,.pp-fp-two-col{grid-template-columns:1fr}.search-bar,.search-bar-combo,.module-toolbar,.budget-list-toolbar,.list-filter-bar{width:100%;align-items:stretch;flex-direction:column}.search-input{width:100%;min-height:44px}.search-bar-combo .search-input{flex:0 0 44px}.search-bar-combo .tag-filter-control{flex:0 0 auto}.tag-filter-control{width:100%;min-width:0}.tag-filter-options{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto;overscroll-behavior-x:contain}.tag-filter-options>button{min-height:40px;flex:0 0 auto}.tag-selector{flex-wrap:nowrap;padding-bottom:5px;overflow-x:auto}.tag-selector-chip{min-height:40px;flex:0 0 auto}.status-view-filter>div{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.status-view-filter button{min-height:40px;flex:0 0 auto}.btn{min-height:42px;white-space:normal}.btn-sm{min-height:38px}.form-row{grid-template-columns:1fr;gap:0}.form-input,.form-select{min-height:44px;font-size:16px}.form-textarea{min-height:100px;font-size:16px}.modal-overlay{align-items:flex-end;padding:0}.modal,.modal.modal-lg{width:100%;max-width:none!important;max-height:96dvh;border-radius:14px 14px 0 0}.modal-header{padding:15px 16px}.modal-title{min-width:0;font-size:18px;overflow-wrap:anywhere}.modal-close{min-width:42px;min-height:42px}.modal-body{padding:16px}.modal-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.modal-footer>.btn{flex:1;min-width:0}.data-table-wrapper,.budget-table-card,.workspace-table-shell,.pp-section{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:700px}.data-table th,.data-table td{padding:11px 12px}.bottom-command-bar{height:60px;display:block;padding:7px 8px max(7px,env(safe-area-inset-bottom))}.bottom-user,.bottom-brand{display:none}.bottom-metrics{height:46px;display:flex;justify-content:flex-start;gap:6px;overflow-x:auto;scrollbar-width:none}.bottom-metrics::-webkit-scrollbar{display:none}.bottom-metrics a{min-width:max-content;min-height:42px;padding:7px 11px}.kanban-board{width:calc(100% + 14px);display:flex;flex-direction:row;gap:12px;margin-right:-14px;padding:2px 14px 14px 0;overflow-x:auto;scroll-snap-type:x mandatory}.kanban-column{width:calc(100vw - 46px);min-width:calc(100vw - 46px);max-width:none;scroll-snap-align:start}.kanban-card{padding:12px}.kanban-card-move{flex-wrap:nowrap;overflow-x:auto}.kanban-card-move .btn-move{min-height:36px;flex:0 0 auto}.tagwall-grid{grid-template-columns:1fr;gap:14px}.tagwall-card,.tagwall-card:nth-child(2n),.tagwall-card:nth-child(3n),.tagwall-card:hover{min-height:0;padding:16px;transform:none}.tagwall-card>.card-image-mosaic{margin:-16px -16px 14px}.tagwall-card-tools{flex-wrap:wrap;justify-content:flex-end}.tagwall-drop-ghost{min-height:110px}.card-image-mosaic{height:170px}.calendar-filter-panel,.calendar-source-filters,.calendar-day-list-item{align-items:stretch;flex-direction:column}.calendar-month{min-width:680px}.calendar-day{min-height:92px}.calendar-source-toggle{min-height:42px}.budget-controlling-controls,.budget-template-row,.budget-account-create,.budget-account-plan-row{grid-template-columns:1fr}.budget-view-tabs,.budget-period-toggle,.budget-sheet-tabs,.pp-tabs,.fo-tabs,.segmented-control{width:100%;flex-wrap:nowrap;overflow-x:auto}.budget-view-tabs button,.budget-period-toggle button,.pp-tab,.fo-tabs button,.segmented-control button{flex:0 0 auto;min-height:42px}.budget-summary-grid{grid-template-columns:1fr}.budget-controlling-grid{min-width:0}.budget-sheet-actions{align-items:stretch;flex-direction:column}.pp-header,.pp-header-left,.pp-header-right{width:100%;align-items:stretch;flex-direction:column}.pp-header-right{display:grid;grid-template-columns:1fr}.pp-header-right>*{width:100%!important}.pp-content{padding:0}.pp-fp-banner{grid-template-columns:1fr}.pp-fp-cover{min-height:180px}.pp-fp-key-info,.pp-fp-details-grid,.pp-info-grid,.pp-glance-grid{grid-template-columns:1fr}.pp-fp-card-header,.pp-fp-card-body{padding-left:14px;padding-right:14px}.pp-schedule-table,.pp-crew-table,.cs-resource-table{min-width:680px}.entity-attachments{padding:12px}.entity-attachments-header{align-items:stretch;flex-direction:column}.entity-attachment-row{grid-template-columns:42px minmax(0,1fr)}.entity-attachment-row>.btn,.entity-attachment-order{grid-column:1 / -1}.guest-booking-toolbar,.guest-booking-nav{align-items:stretch;flex-direction:column}.guest-calendar-month,.guest-link-grid,.link-preset-admin,.message-template-layout,.crew-message-grid,.crew-message-meta{grid-template-columns:1fr}.guest-booking-card{grid-template-columns:52px minmax(0,1fr)}.guest-delivery-notice{align-items:stretch;flex-direction:column}.guest-delivery-notice>.btn{width:100%}.guest-delivery-result,.delivery-feedback-row{grid-template-columns:1fr}.phone-input-grid{grid-template-columns:minmax(92px,108px) minmax(0,1fr)}.chat-shell,.chat-composer{grid-template-columns:1fr}.chat-composer-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-composer-actions .btn{min-width:0}.chat-image-preview{grid-template-columns:50px minmax(0,1fr) auto}.chat-image-preview img{width:50px;height:42px}.chat-message-image{max-width:72vw}.command-panel{min-height:0;padding:15px}.command-panel-header{align-items:flex-start;gap:10px}.production-row{align-items:flex-start}.production-row img,.production-fallback{width:78px;height:58px;flex-basis:78px}.resource-row{grid-template-columns:minmax(0,1fr) auto}.resource-row small{grid-column:1 / -1;text-align:left}.workspace-portal-main{width:100%;padding:24px 14px 90px}.workspace-portal-header,.workspace-list-head{align-items:stretch;flex-direction:column}.workspace-card-row{grid-template-columns:1fr}.workspace-portal-footer{display:none}.workspace-tabs{flex-wrap:nowrap;overflow-x:auto}.workspace-members-toolbar,.workspace-invite-form,.workspace-member-row,.access-groups-admin,.access-group-top-row,.access-module-grid{grid-template-columns:1fr}.image-upload-row{align-items:flex-start;flex-direction:column}.crop-upload-modal{width:calc(100vw - 20px);max-height:94dvh}.crop-upload-stage{width:min(280px,calc(100vw - 52px));height:min(280px,calc(100vw - 52px))}}@media(max-width:420px){.page-actions{grid-template-columns:1fr}.app-content{padding-left:10px;padding-right:10px}.kanban-board{width:calc(100% + 10px);margin-right:-10px;padding-right:10px}.kanban-column{width:calc(100vw - 30px);min-width:calc(100vw - 30px)}.modal-footer{flex-wrap:wrap}.modal-footer>.btn{flex-basis:calc(50% - 6px)}}.asset-location-filter{flex:0 1 260px;min-width:190px}.search-bar-combo .asset-location-filter{width:min(320px,100%);height:44px;min-height:44px;max-height:44px;flex:0 0 44px}.asset-location-badge{display:inline-grid;gap:2px;max-width:190px;padding:5px 8px;border:1px solid #bbf7d0;border-radius:5px;background:#f0fdf4;color:#15803d;line-height:1.2}.asset-location-badge.away{border-color:#fdba74;background:#fff7ed;color:#c2410c}.asset-location-badge small{color:var(--color-text-secondary);font-size:10px}.location-guide{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:var(--space-3);padding:12px 14px;border:1px solid #fecdd3;border-radius:var(--border-radius-sm);background:#fff7f8}.location-guide strong{color:var(--color-primary)}.location-guide span{color:var(--color-text-secondary)}.location-guide code,.location-code,.handover-item code,.location-contents code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:800}.location-path-cell{display:grid;gap:2px;border-left:2px solid #fecdd3}.location-path-cell span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.location-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin-bottom:var(--space-3);padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:#f8fafc}.location-preview>span,.location-preview>small{grid-column:1 / -1;color:var(--color-text-secondary)}.location-preview code{color:var(--color-primary)}.location-inventory{margin-top:var(--space-4);border:1px solid var(--color-border);border-radius:7px;overflow:hidden}.location-inventory>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#f8fafc}.location-inventory h3{margin:0;font-size:var(--font-size-md)}.location-inventory>div:first-child span,.location-inventory>p{color:var(--color-text-secondary)}.location-inventory>p{margin:0;padding:16px 12px}.location-inventory-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 150px;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--color-border)}.location-inventory-row>span{color:var(--color-text-secondary);text-transform:capitalize}.location-inventory-row>code{text-align:right}.location-inventory-row>small{grid-column:1 / -1;color:#c2410c}.location-contents{padding:var(--space-4)}.location-contents h2{margin-top:0}.location-contents>div{display:grid;grid-template-columns:minmax(0,1fr) 140px 180px;gap:var(--space-3);align-items:center;padding:11px 0;border-bottom:1px solid var(--color-border)}.location-contents>div span{color:var(--color-text-secondary);text-transform:capitalize}.location-contents>div code{text-align:right}.handover-page{--handover-panel: #ffffff;min-height:100%}.handover-mode-tabs{display:inline-flex;gap:4px;margin-bottom:var(--space-3);padding:4px;border:1px solid var(--color-border);border-radius:7px;background:#fff}.handover-mode-tabs button{min-width:145px;min-height:42px;padding:8px 18px;border:0;border-radius:5px;background:transparent;color:var(--color-text);font:inherit;font-weight:800;cursor:pointer}.handover-mode-tabs button.active{background:var(--color-primary);color:#fff}.handover-layout{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);min-height:620px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--handover-panel);overflow:hidden}.handover-booking-picker{border-right:1px solid var(--color-border);background:#f8fafc;overflow:auto}.handover-picker-head{position:sticky;top:0;z-index:2;display:grid;gap:10px;padding:14px;border-bottom:1px solid var(--color-border);background:#f8fafc}.handover-date-filter{display:grid;gap:7px;padding-bottom:11px;border-bottom:1px solid var(--color-border)}.handover-date-filter>label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.handover-date-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.handover-date-nav{display:grid;grid-template-columns:1fr 1fr;gap:7px}.handover-date-input-row .btn,.handover-date-nav .btn{min-height:38px;padding:7px 10px;white-space:nowrap}.handover-mine-toggle{position:relative;display:flex;min-height:42px;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--color-border);border-radius:6px;background:#fff;color:var(--color-text);font-size:var(--font-size-sm);font-weight:800;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.handover-mine-toggle:hover{border-color:#fda4af;background:#fff7f8}.handover-mine-toggle.active{border-color:var(--color-primary);background:#fff0f1;color:var(--color-primary)}.handover-mine-toggle:focus-within{outline:3px solid rgba(230,0,18,.15);outline-offset:1px}.handover-mine-toggle input{position:absolute;width:1px;height:1px;opacity:0}.handover-checkbox-mark{position:relative;width:20px;height:20px;flex:0 0 20px;border:2px solid #94a3b8;border-radius:4px;background:#fff}.handover-mine-toggle.active .handover-checkbox-mark{border-color:var(--color-primary);background:var(--color-primary)}.handover-mine-toggle.active .handover-checkbox-mark:after{position:absolute;top:2px;left:6px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;content:"";transform:rotate(45deg)}.handover-booking-option{display:grid;width:100%;gap:9px;padding:14px;border:0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.handover-booking-option:hover,.handover-booking-option.active{background:#fff0f1;box-shadow:inset 4px 0 var(--color-primary)}.handover-booking-option>span{display:grid;gap:2px}.handover-booking-option>span:first-child{grid-template-columns:minmax(0,1fr) auto;align-items:center}.handover-booking-option small{color:var(--color-text-secondary)}.handover-booking-state{padding:3px 6px;border-radius:4px;background:#e8edf5;color:var(--color-text-secondary);font-weight:800}.handover-booking-state.complete{background:#dcfce7;color:#166534}.handover-empty{padding:18px;color:var(--color-text-secondary)}.handover-mini-progress{position:relative;height:20px;border-radius:4px;background:#e8edf5;overflow:hidden}.handover-mini-progress i{position:absolute;inset:0 auto 0 0;background:#86efac}.handover-mini-progress small{position:relative;z-index:1;display:grid;height:100%;place-items:center;color:#111827;font-weight:900}.handover-workspace{min-width:0;padding:clamp(16px,2.2vw,30px)}.handover-welcome{display:grid;min-height:520px;place-content:center;gap:7px;text-align:center}.handover-welcome strong{font-size:var(--font-size-lg)}.handover-welcome span{color:var(--color-text-secondary)}.handover-booking-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.handover-booking-title>div:first-child>span{color:var(--color-primary);font-weight:900}.handover-booking-title h2{margin:4px 0;font-size:clamp(22px,2vw,30px)}.handover-booking-title p{margin:0;color:var(--color-text-secondary)}.handover-progress{display:grid;flex:0 0 auto;gap:2px;min-width:105px;padding:10px 13px;border:1px solid #fecdd3;border-radius:6px;background:#fff7f8;text-align:center}.handover-progress strong{color:var(--color-primary);font-size:22px}.handover-progress span{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.return-location-panel{display:grid;grid-template-columns:minmax(240px,1fr) minmax(200px,.8fr);gap:var(--space-4);align-items:end;margin-bottom:var(--space-3);padding:14px;border:1px solid #fdba74;border-radius:6px;background:#fff7ed}.return-location-panel .form-group{margin:0}.return-location-panel p{margin:0 0 8px;color:#9a3412}.handover-scanner{display:grid;gap:8px;margin-bottom:var(--space-3);padding:14px;border:2px solid var(--color-primary);border-radius:7px;background:#fff;box-shadow:0 8px 24px #e6001214}.handover-scanner>label{color:var(--color-primary);font-weight:900}.handover-scanner>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.handover-scanner .form-input{min-height:48px;font-size:18px}.handover-scanner small{color:var(--color-text-secondary)}.handover-condition-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;margin-bottom:var(--space-3)}.issue-check{min-height:44px;padding:0 12px;border:1px solid #fdba74;border-radius:6px;background:#fff7ed}.handover-feedback{display:grid;gap:4px;margin-bottom:var(--space-3);padding:12px 14px;border:1px solid #bbf7d0;border-radius:6px;background:#f0fdf4;color:#166534}.handover-feedback.error{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.handover-feedback.location{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.handover-manifest{border:1px solid var(--color-border);border-radius:7px;overflow:hidden}.handover-manifest-head,.handover-item{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(125px,.7fr) 130px minmax(150px,auto);gap:12px;align-items:center}.handover-manifest-head{padding:9px 12px;background:#f1f5f9;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.handover-item{min-height:66px;padding:9px 12px;border-top:1px solid var(--color-border)}.handover-item.complete{background:#f7fdf9}.handover-item-asset{display:flex;min-width:0;gap:10px;align-items:center}.handover-item-asset img,.handover-item-asset>span{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:5px;background:#e8edf5;object-fit:cover;font-weight:900}.handover-item-asset div{display:grid;min-width:0;gap:2px}.handover-item-asset strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.handover-item-asset small{color:var(--color-text-secondary)}.handover-item code{overflow:hidden;color:var(--color-text-secondary);text-overflow:ellipsis}.handover-item-actions{display:grid;gap:5px;justify-items:stretch}.handover-item-actions>span{color:#166534;font-size:var(--font-size-sm);font-weight:800;text-align:center}.btn-handover-undo{border-color:#fdba74;background:#fff7ed;color:#9a3412}.btn-handover-undo:hover:not(:disabled){border-color:#f97316;background:#ffedd5;color:#7c2d12}.handover-kiosk{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;padding:22px;background:#f3f6fa;overflow:auto}.kiosk-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:14px 18px;border:1px solid var(--color-border);border-radius:7px;background:#fff}.kiosk-header>div{display:flex;align-items:baseline;gap:15px}.kiosk-header strong{font-size:24px}.kiosk-header span{color:var(--color-primary);font-size:18px;font-weight:900}.handover-kiosk .handover-layout{min-height:calc(100dvh - 150px)}.handover-kiosk .handover-scanner .form-input{min-height:58px;font-size:22px}.handover-kiosk .handover-booking-option{padding:18px}.handover-kiosk .handover-item{min-height:76px}@media(max-width:920px){.handover-layout{grid-template-columns:1fr}.handover-booking-picker{max-height:330px;border-right:0;border-bottom:1px solid var(--color-border)}.handover-manifest-head{display:none}.handover-item{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.handover-item code{grid-column:1}.handover-item>.badge{grid-column:2;grid-row:1}.handover-item-actions{grid-column:2;grid-row:2 / 4;min-width:150px}.handover-item-actions .btn{min-height:44px}}@media(max-width:640px){.asset-location-filter{width:100%;min-width:0;flex-basis:44px}.location-guide{grid-template-columns:1fr}.location-contents>div{grid-template-columns:minmax(0,1fr) auto}.location-contents>div code{grid-column:1 / -1;text-align:left}.location-inventory-row{grid-template-columns:minmax(0,1fr) auto}.location-inventory-row>code{grid-column:1 / -1;text-align:left}.handover-mode-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.handover-mode-tabs button{min-width:0;padding-inline:10px}.handover-booking-title{align-items:stretch;flex-direction:column}.handover-progress{grid-template-columns:auto 1fr;align-items:baseline;text-align:left}.return-location-panel,.handover-condition-row{grid-template-columns:1fr}.handover-scanner>div{grid-template-columns:1fr}.handover-scanner .btn{min-height:48px}.handover-item{grid-template-columns:1fr;padding:12px}.handover-item code,.handover-item>.badge,.handover-item-actions{grid-column:1;grid-row:auto}.handover-item-actions{width:100%;min-width:0}.handover-kiosk{padding:10px}.kiosk-header{align-items:stretch;flex-direction:column}.kiosk-header>div{align-items:flex-start;flex-direction:column;gap:3px}}.pp-asset-bookings-section{margin-bottom:24px;padding:14px;border:1px solid #fecdd3;border-radius:var(--border-radius-sm);background:#fffafb}.pp-asset-bookings-section .pp-section-header{align-items:flex-start;gap:14px}.pp-asset-bookings-section .pp-section-desc{margin:3px 0 0}.pp-linked-booking-list{display:grid;gap:10px}.pp-linked-booking{border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-white);overflow:hidden}.pp-linked-booking>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--color-border);background:#f8fafc}.pp-linked-booking>header>div:first-child{display:grid;gap:2px;min-width:0}.pp-linked-booking>header strong{overflow-wrap:anywhere}.pp-linked-booking>header span{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:capitalize}.pp-linked-booking-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.pp-linked-booking-groups{display:grid;gap:1px;background:var(--color-border)}.pp-linked-booking-groups-1{grid-template-columns:minmax(0,1fr)}.pp-linked-booking-groups-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-linked-booking-groups-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-linked-booking-groups section{min-width:0;padding:10px 12px;background:var(--color-white)}.pp-linked-booking-groups h4{display:flex;justify-content:space-between;gap:8px;margin:0 0 7px;color:var(--color-primary);font-size:11px;text-transform:uppercase}.pp-linked-booking-groups h4 span{color:var(--color-text-secondary)}.pp-linked-booking-asset{display:grid;gap:1px;padding:5px 0;border-top:1px solid #edf1f7}.pp-linked-booking-asset strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.pp-linked-booking-asset span{color:var(--color-text-secondary);font-size:10px}.call-sheet-booking-picker{display:grid;gap:14px}.call-sheet-booking-picker-intro{display:grid;gap:3px}.call-sheet-booking-picker-intro span{color:var(--color-text-secondary)}.call-sheet-booking-options{display:grid;gap:8px;max-height:52dvh;overflow-y:auto}.call-sheet-booking-options article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:#fff}.call-sheet-booking-options article>div{display:grid;gap:2px;min-width:0}.call-sheet-booking-options article span,.call-sheet-booking-options article small{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.call-sheet-booking-options article small{color:#b45309}.call-sheet-booking-options article.is-unavailable{opacity:.52;background:#f8fafc}.cases-page,.case-detail-page{max-width:1680px;margin:0 auto}.case-kpis{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.case-kpi{min-height:104px;padding:18px 20px;border:1px solid var(--color-border);border-radius:12px;background:#fff;color:var(--color-text);text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.case-kpi:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0f172a14}.case-kpi strong{display:block;font-size:32px;line-height:1}.case-kpi span{display:block;margin-top:10px;color:var(--color-text-secondary);font-size:13px;font-weight:800;text-transform:uppercase}.case-kpi-red{border-top:4px solid #e60012}.case-kpi-orange{border-top:4px solid #f97316}.case-kpi-blue{border-top:4px solid #2563eb}.case-kpi-dark{border-top:4px solid #111827}.case-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) repeat(4,minmax(130px,auto)) auto auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--color-border);border-radius:10px;background:#fff}.case-toolbar .search-input{width:100%}.case-view-switch{display:flex;gap:4px}.case-archive-toggle{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 10px;color:var(--color-text-secondary);font-size:12px;font-weight:800;white-space:nowrap}.case-archive-toggle>span{position:relative;width:30px;height:17px;border-radius:999px;background:#cbd5e1;transition:background .15s ease}.case-archive-toggle>span:after{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0f172a3d;content:"";transition:transform .15s ease}.case-archive-toggle.active{border-color:#fda4af;background:#fff1f2;color:#be123c}.case-archive-toggle.active>span{background:#e60012}.case-archive-toggle.active>span:after{transform:translate(13px)}.case-table-title{display:grid;min-width:250px;gap:3px}.case-table-title>strong{color:#e60012;font-size:11px;letter-spacing:.04em}.case-table-title>span{font-weight:800}.case-table-title .tag-pills{margin-top:3px}.case-type-badge,.case-status-badge{display:inline-flex;align-items:center;width:fit-content;min-height:24px;padding:3px 9px;border:1px solid color-mix(in srgb,var(--case-type-color, #64748b) 35%,white);border-radius:999px;background:color-mix(in srgb,var(--case-type-color, #64748b) 10%,white);color:var(--case-type-color, #64748b);font-size:11px;font-weight:900;white-space:nowrap}.case-status-badge{--case-type-color: var(--case-status-color, #64748b)}.case-due-overdue{color:#dc2626!important;font-weight:900}.case-attention-flag{display:inline-flex;width:fit-content;padding:3px 8px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:10px;font-weight:900;text-transform:uppercase}.case-archived-flag{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:10px;font-weight:900;text-transform:uppercase}.case-board{display:grid;grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;gap:12px;overflow-x:auto;align-items:start;margin-top:20px;padding:3px 2px 16px}.case-board-column{min-width:270px;border:1px solid var(--color-border);border-radius:10px;background:#f8fafc;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.case-board-column.is-drop-target{border-color:#e60012;box-shadow:0 0 0 3px #e600121f}.case-board.is-dragging .case-board-column.cannot-drop{opacity:.52}.case-board-column>header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--color-border);background:#fff}.case-board-column>header span{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;background:#eef2f7;font-size:11px;font-weight:900}.case-board-column>div{display:grid;gap:9px;padding:10px}.case-board-card{display:grid;gap:8px;padding:13px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;color:var(--color-text);text-align:left;cursor:pointer;box-shadow:0 2px 6px #0f172a0a}.case-board-card:hover{border-color:#cbd5e1;box-shadow:0 7px 18px #0f172a14}.case-board-card[draggable=true]{cursor:grab}.case-board-card[draggable=true]:active{cursor:grabbing}.case-board-card.is-dragging{opacity:.35;transform:rotate(1deg)}.case-board-card.is-archived{opacity:.68;background:#f8fafc}.case-board-card>div{display:flex;flex-wrap:wrap;gap:5px}.case-board-card>small{color:var(--color-text-secondary)}.case-board-number{color:#e60012;font-size:10px;font-weight:900;letter-spacing:.04em}.case-board-empty{margin:10px 0;color:var(--color-text-muted);text-align:center}.case-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.case-form-wide{grid-column:1 / -1}.case-participant-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));max-height:190px;gap:7px;overflow:auto;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:#f8fafc}.case-participant-picker label{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 8px;border-radius:6px;background:#fff;cursor:pointer}.case-file-dropzone{min-height:150px;display:grid;align-content:center;padding:24px}.case-pending-files{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.case-pending-files>span{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 8px 6px 11px;border:1px solid var(--color-border);border-radius:999px;background:#fff}.case-pending-files strong{max-width:260px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.case-pending-files button{width:22px;height:22px;border:0;border-radius:999px;background:#fee2e2;color:#b91c1c;cursor:pointer}.case-types-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:620px;gap:18px}.case-types-list{display:flex;flex-direction:column;gap:8px;padding-right:14px;border-right:1px solid var(--color-border)}.case-type-list-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--color-border);border-radius:8px;background:#fff;text-align:left;cursor:pointer}.case-type-list-item.active{border-color:#e60012;background:#fff5f5}.case-type-list-item>span{width:10px;height:36px;border-radius:999px}.case-type-list-item>div{display:grid;min-width:0;gap:2px}.case-type-list-item small{overflow:hidden;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap}.case-type-list-item em{color:#e60012;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase}.case-type-editor{min-width:0}.case-type-editor-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;margin-bottom:14px}.case-type-color-input{width:52px;height:42px;padding:3px;border:1px solid var(--color-border);border-radius:7px;background:#fff}.case-type-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.case-type-flags{display:flex;flex-wrap:wrap;gap:20px;margin:5px 0 22px}.case-type-flags label{display:flex;align-items:center;gap:8px;font-weight:700}.case-type-editor-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.workflow-editor{margin-top:20px}.workflow-editor-title{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:10px}.workflow-editor-title h3{margin:0}.workflow-editor-title p{margin:4px 0 0;color:var(--color-text-secondary)}.workflow-status-list{display:grid;gap:7px}.workflow-status-row{display:grid;grid-template-columns:42px minmax(130px,1fr) minmax(110px,.7fr) minmax(130px,.8fr) auto auto auto;align-items:center;gap:7px;padding:8px;border:1px solid var(--color-border);border-radius:8px;background:#f8fafc}.workflow-status-row>input[type=color]{width:38px;height:38px;padding:2px;border:1px solid var(--color-border);border-radius:6px;background:#fff}.case-detail-banner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:12px;padding:18px;border:1px solid var(--color-border);border-left:5px solid #e60012;border-radius:10px;background:#fff}.case-detail-banner>div:first-child{display:flex;flex-wrap:wrap;gap:7px}.case-detail-banner-meta{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:20px}.case-detail-banner-meta span{display:grid;gap:2px;color:var(--color-text-secondary);font-size:11px;text-transform:uppercase}.case-detail-banner-meta strong{color:var(--color-text);font-size:13px;text-transform:none}.case-status-flow{display:flex;gap:4px;overflow-x:auto;margin-bottom:12px;padding:7px;border:1px solid var(--color-border);border-radius:8px;background:#fff}.case-status-flow button{display:flex;align-items:center;gap:6px;min-height:34px;padding:5px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text-secondary);font-weight:800;cursor:pointer;white-space:nowrap}.case-status-flow button span{width:8px;height:8px;border-radius:999px;background:var(--case-status-color)}.case-status-flow button:hover,.case-status-flow button.active{border-color:color-mix(in srgb,var(--case-status-color) 40%,white);background:color-mix(in srgb,var(--case-status-color) 9%,white);color:var(--color-text)}.case-detail-tabs{display:flex;gap:3px;overflow-x:auto;margin-bottom:14px;border-bottom:1px solid var(--color-border)}.case-detail-tabs button{padding:10px 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--color-text-secondary);font-weight:800;cursor:pointer;white-space:nowrap}.case-detail-tabs button.active{border-bottom-color:#e60012;color:#e60012}.case-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);align-items:start;gap:14px}.case-detail-grid>main,.case-detail-grid>aside{display:grid;gap:14px}.case-section{padding:18px}.case-section>header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.case-section>header h2{margin:0;font-size:18px}.case-section>header p{margin:3px 0 0;color:var(--color-text-secondary)}.case-description{min-height:110px;white-space:pre-wrap;line-height:1.65}.case-resolution{margin:15px 0;padding:12px;border-left:4px solid #16a34a;border-radius:5px;background:#f0fdf4}.case-resolution p{margin:5px 0 0;white-space:pre-wrap}.case-detail-list{display:grid;grid-template-columns:120px minmax(0,1fr);gap:9px 12px;margin:0}.case-detail-list dt{color:var(--color-text-secondary);font-size:11px;font-weight:800;text-transform:uppercase}.case-detail-list dd{margin:0;overflow-wrap:anywhere;font-weight:700}.case-cost-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:13px;border-top:1px solid var(--color-border)}.case-cost-summary span{padding:9px;border-radius:6px;background:#f8fafc;font-size:12px;font-weight:800}.case-participant-list{display:grid;gap:8px}.case-participant-list>div{display:flex;align-items:center;gap:9px}.case-participant-list>div>div{display:grid}.case-participant-list small{color:var(--color-text-secondary);text-transform:capitalize}.case-avatar{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;overflow:hidden;border-radius:999px;background:#111827;color:#fff;object-fit:cover;font-size:11px;font-weight:900}.case-comments{display:grid;gap:12px}.case-comments article{position:relative;display:grid;grid-template-columns:36px 1fr auto;gap:10px}.case-comments article>div>header{display:flex;justify-content:space-between;gap:10px}.case-comments time{color:var(--color-text-secondary);font-size:11px}.case-comments p{margin:5px 0 0;white-space:pre-wrap;line-height:1.5}.case-comment-delete{width:26px;height:26px;border:0;border-radius:5px;background:transparent;color:var(--color-text-muted);cursor:pointer}.case-comment-delete:hover{background:#fee2e2;color:#b91c1c}.case-comment-form{display:grid;justify-items:end;gap:8px;margin-top:17px;padding-top:15px;border-top:1px solid var(--color-border)}.case-comment-form textarea{width:100%}.case-progress{height:7px;margin-bottom:14px;overflow:hidden;border-radius:999px;background:#e2e8f0}.case-progress span{display:block;height:100%;border-radius:inherit;background:#16a34a;transition:width .2s ease}.case-checklist{display:grid;gap:6px}.case-checklist article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:7px;background:#fff}.case-checklist article.completed strong{color:var(--color-text-muted);text-decoration:line-through}.case-checklist article>div{display:grid;gap:2px}.case-checklist small{color:var(--color-text-secondary)}.case-checklist select{min-height:34px;border:1px solid var(--color-border);border-radius:6px;background:#fff}.case-task-copy{display:grid;min-width:0;gap:2px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.case-task-copy:hover strong{color:#e60012}.case-task-badges{display:flex!important;flex-wrap:wrap;gap:6px!important}.case-task-actions{display:flex!important;gap:6px!important}.case-checklist-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.case-link-form{display:grid;grid-template-columns:160px minmax(180px,1fr) minmax(240px,1.4fr) 150px auto;gap:8px;margin-bottom:16px;padding:12px;border:1px solid #fecaca;border-radius:8px;background:#fff7f7}.case-relations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:9px}.case-relations-grid article{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px;border:1px solid var(--color-border);border-radius:8px}.case-relation-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#111827;color:#fff;font-size:11px;font-weight:900}.case-relations-grid article>div{display:grid;min-width:0}.case-relations-grid small{color:var(--color-text-secondary);text-transform:capitalize}.case-relations-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.case-files-grid article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid var(--color-border);border-radius:8px}.case-files-grid img,.case-file-type{display:grid;width:50px;height:50px;place-items:center;border-radius:6px;background:#eef2f7;object-fit:cover;font-size:10px;font-weight:900}.case-files-grid article>div{display:grid;min-width:0}.case-files-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-files-grid small{color:var(--color-text-secondary)}.case-files-grid .btn-danger{grid-column:3}.case-files-overview .case-files-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.my-tasks-page{max-width:1680px;margin:0 auto}.my-tasks-summary{display:grid;grid-template-columns:repeat(3,minmax(140px,220px));gap:12px;margin-bottom:16px}.my-tasks-summary>div{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--color-border);border-radius:10px;background:#fff}.my-tasks-summary strong{font-size:26px;line-height:1}.my-tasks-summary span{color:var(--color-text-secondary);font-size:11px;font-weight:900;text-transform:uppercase}.my-tasks-toolbar{grid-template-columns:minmax(260px,1fr) minmax(150px,auto) minmax(150px,auto)}.my-task-title{display:grid;min-width:240px;gap:3px}.my-task-title small,.my-tasks-page td>span{display:grid;max-width:320px;color:var(--color-text-secondary)}.my-tasks-page td>span strong{color:var(--color-text)}.case-activity-timeline{display:grid;max-width:900px;margin:0 auto}.case-activity-timeline article{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;min-height:62px}.case-activity-timeline article:not(:last-child):before{position:absolute;top:14px;bottom:-4px;left:7px;width:2px;background:#e2e8f0;content:""}.case-activity-dot{position:relative;z-index:1;width:16px;height:16px;margin-top:2px;border:4px solid #fee2e2;border-radius:999px;background:#e60012}.case-activity-timeline article>div{display:grid;align-content:start;gap:4px}.case-activity-timeline small{color:var(--color-text-secondary)}@media(max-width:1200px){.case-toolbar{grid-template-columns:repeat(3,1fr)}.case-toolbar .search-input{grid-column:1 / -1}.case-form{grid-template-columns:repeat(2,minmax(0,1fr))}.case-detail-grid{grid-template-columns:1fr}.case-link-form{grid-template-columns:1fr 1fr}.case-link-form>:nth-child(3){grid-column:1 / -1}}@media(max-width:760px){.case-kpis{grid-template-columns:1fr 1fr}.case-toolbar{grid-template-columns:1fr}.case-toolbar .search-input{grid-column:auto}.case-view-switch{display:grid;grid-template-columns:1fr 1fr}.case-form{grid-template-columns:1fr}.case-form-wide{grid-column:auto}.case-types-layout{grid-template-columns:1fr}.case-types-list{max-height:250px;padding:0 0 12px;overflow:auto;border-right:0;border-bottom:1px solid var(--color-border)}.case-type-settings{grid-template-columns:1fr}.workflow-status-row{grid-template-columns:38px minmax(0,1fr) minmax(110px,.7fr)}.workflow-status-row .form-select{grid-column:2 / -1}.case-detail-banner{grid-template-columns:1fr}.case-detail-banner-meta{justify-content:flex-start}.case-checklist article{grid-template-columns:minmax(0,1fr) auto}.case-task-copy{grid-column:1 / -1}.case-task-badges{grid-column:1}.case-task-actions{grid-column:2}.case-link-form{grid-template-columns:1fr}.case-link-form>:nth-child(3){grid-column:auto}.case-relations-grid{grid-template-columns:1fr}.case-relations-grid article{grid-template-columns:42px minmax(0,1fr)}.case-relations-grid article .btn{grid-column:2}.my-tasks-summary{grid-template-columns:repeat(3,1fr)}.my-tasks-toolbar{grid-template-columns:1fr}}.pp-print-spaces{margin-top:12px}@media(max-width:720px){.pp-section-actions{width:100%;justify-content:space-between}.pp-linked-booking>header,.call-sheet-booking-options article{align-items:stretch;flex-direction:column}.pp-linked-booking-actions{justify-content:stretch}.pp-linked-booking-actions .btn,.call-sheet-booking-options article .btn{width:100%}.pp-linked-booking-groups{grid-template-columns:1fr}}.production-notes-search{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:var(--space-4);align-items:start;margin-bottom:var(--space-4)}.production-notes-search-field{display:grid;min-width:0;gap:6px}.production-notes-search-field>span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:900;text-transform:uppercase}.production-notes-search .search-input,.production-notes-search .tag-filter-options button{min-height:40px}.production-notes-search .tag-filter-control{min-width:0}.production-notes-search .tag-filter-heading{margin-top:0}.notes-mobile-flow{display:none}.production-notes-workspace{display:grid;grid-template-columns:220px 300px minmax(420px,1fr);min-height:640px;height:calc(100dvh - 280px);border:1px solid var(--color-border);border-radius:7px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.notes-notebook-rail,.notes-page-browser,.notes-editor-pane{min-width:0;min-height:0}.notes-notebook-rail{border-right:1px solid var(--color-border);background:#f8fafc;overflow-y:auto}.notes-pane-heading,.notes-page-list-heading{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase}.notes-pane-heading button,.notes-page-list-heading button{border:0;background:transparent;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:800;cursor:pointer}.notes-pane-heading button:hover,.notes-page-list-heading button:hover{text-decoration:underline}.notes-notebook-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #e8edf5}.notes-notebook-row.active{background:#fff0f1;box-shadow:inset 4px 0 var(--color-primary)}.notes-notebook-select,.notes-row-action{min-height:52px;border:0;background:transparent;color:var(--color-text);cursor:pointer}.notes-notebook-select{display:flex;min-width:0;gap:10px;align-items:center;padding:8px;text-align:left}.notes-notebook-select span:last-child{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.notes-color-mark{width:9px;height:30px;flex:0 0 9px;border-radius:3px}.notes-row-action{padding:0 12px;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:800}.notes-row-action:hover{text-decoration:underline}.notes-drag-handle{width:28px;min-height:42px;padding:0 3px;border:0;background:transparent;color:#8a96aa;font-size:15px;font-weight:900;letter-spacing:0;cursor:grab}.notes-drag-handle:active{cursor:grabbing}.notes-drag-handle[draggable=false]{cursor:not-allowed;opacity:.35}.notes-order-row.dragging{opacity:.38}.notes-order-ghost{display:grid;min-height:34px;margin:5px 8px;place-items:center;border:2px dashed #e60012;border-radius:6px;background:#fff0f1;color:#e60012;font-size:11px;font-weight:900}.notes-pane-empty{padding:18px 14px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.notes-page-browser{display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:#fff}.notes-new-page{min-height:42px;margin:10px 12px;border:1px solid #fda4af;border-radius:5px;background:#fff7f8;color:var(--color-primary);font-weight:900;cursor:pointer}.notes-new-page:hover{border-color:var(--color-primary);background:#fff0f1}.notes-page-list{min-height:0;flex:1;overflow-y:auto}.notes-page-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;border-bottom:1px solid var(--color-border);background:#fff}.notes-page-row:hover{background:#f8fafc}.notes-page-row.active{background:#fff0f1;box-shadow:inset 4px 0 var(--color-primary)}.notes-page-select{display:grid;width:100%;min-width:0;gap:5px;padding:13px 14px;border:0;background:transparent;color:var(--color-text);text-align:left;cursor:pointer}.notes-page-select>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-page-select>span{display:-webkit-box;overflow:hidden;color:var(--color-text-secondary);font-size:var(--font-size-xs);-webkit-box-orient:vertical;-webkit-line-clamp:2}.notes-page-select .tag-pills{margin-top:2px}.notes-page-select .tag-pill{padding:2px 6px;font-size:10px}.notes-note-delete{align-self:center;min-height:32px;padding:5px 9px;border:0;background:transparent;color:#e60012;font-size:11px;font-weight:900;cursor:pointer}.notes-note-delete:hover{text-decoration:underline}.notes-editor-pane{display:flex;flex-direction:column;background:#fff;overflow:hidden}.notes-document-header{display:grid;gap:5px;padding:12px 18px 9px;border-bottom:1px solid var(--color-border)}.notes-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.notes-title-input{width:100%;padding:0;border:0;outline:0;background:transparent;color:var(--color-text);font:inherit;font-size:22px;font-weight:800}.notes-title-input:read-only{cursor:default}.notes-save-line{display:flex;align-items:center;gap:10px}.notes-save-line>span{flex:1;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.notes-save-line>span.error{color:#b91c1c;font-weight:800}.notes-document-actions{display:flex;align-items:center;gap:7px}.notes-document-actions .btn{min-height:32px;padding:5px 9px;font-size:11px;white-space:nowrap}.notes-document-tags{display:flex;min-height:48px;align-items:center;gap:12px;padding:8px 14px;border-top:1px solid var(--color-border);background:#f8fafc}.notes-document-tags>strong{flex:0 0 auto;color:var(--color-text-secondary);font-size:11px;text-transform:uppercase}.notes-document-tags .tag-selector{flex:1;flex-wrap:nowrap;overflow-x:auto}.notes-document-tags .tag-selector-chip{flex:0 0 auto}.production-note-toolbar{display:flex;flex-wrap:nowrap;gap:3px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:#f8fafc;overflow-x:auto;scrollbar-width:thin}.production-note-toolbar button,.production-note-toolbar select,.notes-toolbar-color{min-height:28px;flex:0 0 auto;padding:4px 6px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:var(--color-text);font:inherit;font-size:11px;font-weight:700}.production-note-toolbar select:nth-of-type(1){width:92px}.production-note-toolbar select:nth-of-type(2){width:54px}.production-note-toolbar select:nth-of-type(3){width:72px}.production-note-toolbar select:nth-of-type(4){width:60px}.production-note-toolbar button{cursor:pointer}.production-note-toolbar button:hover:not(:disabled),.production-note-toolbar button.active{border-color:#fda4af;background:#fff0f1;color:var(--color-primary)}.production-note-toolbar button:disabled,.production-note-toolbar select:disabled{opacity:.45;cursor:not-allowed}.notes-toolbar-color{display:flex;align-items:center;gap:6px}.notes-toolbar-color input{width:16px;height:16px;padding:0;border:0;background:transparent}.production-note-editor{min-height:0;flex:1;overflow-y:auto}.production-note-editor .tiptap{width:100%;min-height:100%;margin:0;padding:42px clamp(28px,3vw,56px) 100px;outline:0;color:#172033;font-size:16px;line-height:1.65}.production-note-editor .tiptap>*:first-child{margin-top:0}.production-note-editor .tiptap h1{margin:1.3em 0 .55em;font-size:32px}.production-note-editor .tiptap h2{margin:1.2em 0 .5em;font-size:25px}.production-note-editor .tiptap h3{margin:1.1em 0 .45em;font-size:20px}.production-note-editor .tiptap p{margin:.55em 0}.production-note-editor .tiptap a{color:#155eef;text-decoration:underline}.production-note-editor .tiptap blockquote{margin:1em 0;padding:8px 16px;border-left:4px solid var(--color-primary);background:#fff7f8}.production-note-editor .tiptap pre{padding:14px;border-radius:5px;background:#111827;color:#f8fafc;overflow-x:auto}.production-note-editor .tiptap hr{margin:28px 0;border:0;border-top:1px solid #cbd5e1}.production-note-editor .tiptap ul[data-type=taskList]{padding:0;list-style:none}.production-note-editor .tiptap ul[data-type=taskList] li{display:flex;gap:8px}.production-note-editor .tiptap ul[data-type=taskList] li>div{min-width:0;flex:1}.production-note-editor .tiptap table{width:100%;margin:18px 0;border-collapse:collapse;table-layout:fixed}.production-note-editor .tiptap th,.production-note-editor .tiptap td{min-width:80px;padding:8px 10px;border:1px solid #cbd5e1;vertical-align:top}.production-note-editor .tiptap th{background:#f1f5f9;font-weight:800}.production-note-editor .tiptap .selectedCell{background:#fff0f1}.notes-editor-empty{display:grid;height:100%;place-content:center;justify-items:center;gap:8px;color:var(--color-text-secondary);text-align:center}.notes-editor-empty h2{margin:0;color:var(--color-text)}.notes-editor-empty p{margin:0 0 8px}.notes-color-picker{display:flex;flex-wrap:wrap;gap:10px}.notes-color-picker button,.notes-color-picker input{width:38px;height:38px;padding:0;border:3px solid #fff;border-radius:5px;outline:1px solid #cbd5e1;cursor:pointer}.notes-color-picker button.active{outline:3px solid #111827}.modal-footer-spacer{flex:1}@media(max-width:1180px){.production-notes-workspace{grid-template-columns:185px 260px minmax(380px,1fr)}.production-note-editor .tiptap{padding-inline:34px}}@media(max-width:900px){.production-notes-search{grid-template-columns:1fr}.production-notes-workspace{grid-template-columns:170px minmax(240px,.8fr) minmax(430px,1.4fr);height:calc(100dvh - 250px);overflow-x:auto}}@media(max-width:640px){.notes-mobile-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px;border:1px solid var(--color-border);border-radius:6px;background:#fff;overflow:hidden}.notes-mobile-flow button{min-height:44px;padding:8px;border:0;border-right:1px solid var(--color-border);background:#fff;color:var(--color-text-secondary);font-weight:800}.notes-mobile-flow button:last-child{border-right:0}.notes-mobile-flow button.active{background:#fff0f1;color:var(--color-primary);box-shadow:inset 0 -3px var(--color-primary)}.notes-mobile-flow button:disabled{color:#a8b1c2;background:#f8fafc}.production-notes-workspace{display:block;width:100%;height:auto;min-height:480px;overflow:hidden}.notes-notebook-rail,.notes-page-browser,.notes-editor-pane{display:none;width:100%;border:0}.production-notes-workspace.mobile-pane-notebooks .notes-notebook-rail{display:block}.production-notes-workspace.mobile-pane-notes .notes-page-browser,.production-notes-workspace.mobile-pane-editor .notes-editor-pane{display:flex}.notes-notebook-rail{min-height:480px;max-height:65dvh;overflow-y:auto}.notes-notebook-row{grid-template-columns:auto minmax(0,1fr) auto;border-right:0;border-bottom:1px solid var(--color-border)}.notes-notebook-row.active{box-shadow:inset 4px 0 var(--color-primary)}.notes-notebook-select{min-height:60px}.notes-page-browser{min-height:480px;max-height:65dvh}.notes-page-list-heading{display:flex}.notes-page-list{display:block;min-height:0;flex:1;overflow-y:auto}.notes-editor-pane{min-height:70dvh}.notes-document-header{padding:11px 12px 8px}.notes-title-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.notes-title-input{min-width:0;font-size:18px}.notes-document-actions{gap:4px}.notes-document-actions .btn{min-height:31px;padding:4px 7px;font-size:10px}.notes-page-row{grid-template-columns:auto minmax(0,1fr) auto}.notes-page-select{padding-inline:8px}.notes-note-delete{padding-inline:7px}.notes-document-tags{align-items:flex-start;flex-direction:column;gap:5px}.production-note-editor .tiptap{padding:28px 18px 80px}}@media(max-width:700px){.production-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.production-overview-stats button{min-height:72px;padding:12px}.production-list-toolbar{grid-template-columns:1fr;gap:12px}.production-list-toolbar .tag-filter-control{grid-column:auto}.production-list-actions{min-width:170px}}.api-token-created{margin-bottom:24px;padding:16px;border:1px solid color-mix(in srgb,var(--color-success, #15803d) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-success, #15803d) 8%,var(--color-surface, #fff))}.api-token-created p{margin:6px 0 12px}.api-token-copy-row{display:flex;align-items:center;gap:10px}.api-token-copy-row code{flex:1;min-width:0;padding:10px 12px;overflow-wrap:anywhere;border-radius:7px;background:var(--color-background, #f5f6f8)}.api-token-create,.api-token-list{margin-bottom:28px}.api-token-create h3,.api-token-list h3{margin:0 0 14px}.api-token-scopes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:6px 0 18px}.api-token-scope-group{padding:10px 12px;border:1px solid var(--color-border, #d8dce3);border-radius:8px}.api-token-scope-group>strong{display:block;margin-bottom:7px;text-transform:capitalize}.api-token-scope-group label{display:flex;align-items:center;gap:7px;margin:5px 0}.api-token-list .data-table td:nth-child(3){min-width:260px;font-size:12px}@media(max-width:640px){.api-token-copy-row{align-items:stretch;flex-direction:column}}
