.script-table-head{background:var(--surface-muted);border-bottom:1px solid var(--border);color:var(--muted);min-height:38px;padding:0 .85rem;font-size:.76rem;font-weight:900}.script-row{border-bottom:1px solid var(--border);min-height:58px;padding:.62rem .85rem}.script-row:last-child{border-bottom:0}.script-row-episode{color:var(--primary);white-space:nowrap;font-size:.82rem;font-weight:900}.script-row-main{gap:.12rem;min-width:0;display:grid}.script-row-main strong{color:var(--gray-900);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:900;overflow:hidden}.script-row-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700;overflow:hidden}.script-row-more{color:var(--gray-400);margin-left:.35rem;font-size:.78rem;font-weight:900}.script-row-note{color:#92400e;font-size:.74rem;font-weight:900}.script-row-time{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:800}.script-row-action{justify-content:flex-end;display:flex}.script-status{white-space:nowrap;border-radius:999px;flex:none;padding:.2rem .5rem;font-size:.72rem;font-weight:900;display:inline-flex}.script-status-draft{color:#4b5563;background:#f3f4f6}.script-status-ready{color:#92400e;background:#fef3c7}.script-status-sent{background:var(--primary-soft);color:var(--primary)}.script-status-revision_requested{color:#991b1b;background:#fee2e2}.script-status-approved{color:#047857;background:#d1fae5}.script-job-summary{background:linear-gradient(180deg, #fff, var(--surface-muted));border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:12px;padding:10px 14px;display:grid}.script-summary-main{gap:8px;display:grid}.script-summary-main strong{color:var(--text);font-size:1rem;font-weight:900}.script-summary-bar{background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden}.script-summary-bar span{background:var(--primary);border-radius:inherit;height:100%;display:block}.script-summary-inline{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.script-summary-inline span{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:900}.script-episode-list{align-content:start;gap:10px;display:grid}.script-episode-row{border:1px solid var(--border);border-radius:10px;gap:6px;padding:10px;display:grid}.script-episode-row.active{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.script-episode-row button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:4px;padding:0;display:grid}.script-episode-row span,.script-episode-row small{color:var(--muted);font-size:.78rem;font-weight:800}.script-editor-panel{gap:12px;display:grid}.script-content-input{min-height:260px}.form-alert.warning{background:var(--warning-soft);color:var(--warning);border-color:#fcd34d}.checkbox-field{align-items:center;gap:10px;display:flex}.checkbox-field input{width:auto;min-height:auto}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.checkbox-line{align-items:center;gap:8px;min-height:34px;display:flex}.checkbox-line input{flex:none;width:auto;min-height:auto}.form-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px;font-size:.9rem;font-weight:750;line-height:1.5}.auth-submit{cursor:pointer;border:0;width:100%;min-height:46px}.auth-submit:disabled{cursor:not-allowed;opacity:.65}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,860px);max-width:860px;max-height:min(88vh,920px);display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a38}.modal-card.narrow{width:min(100%,760px);max-width:760px}.modal-card.wide{width:min(100%,1100px);max-width:1100px}.modal-header,.modal-footer{justify-content:space-between;align-items:center;gap:16px;padding:1rem 1.5rem;display:flex}.modal-header{border-bottom:1px solid var(--border)}.modal-header h2{font-size:1rem}.modal-header p{color:var(--muted);margin-top:4px;font-size:.9rem;font-weight:700;line-height:1.5}.modal-body{gap:16px;padding:1.5rem;display:grid;overflow:auto}.modal-footer{background:var(--surface-muted);border-top:1px solid var(--border);justify-content:flex-end}.modal-header .icon-button{background:var(--surface-muted);border-color:var(--border);border-radius:var(--radius-sm);color:var(--gray-400);width:auto;height:auto;min-height:0;padding:.2rem .4rem;font-size:1.3rem}.modal-card[aria-labelledby=record-payment-title],.modal-card[aria-labelledby=create-invoice-title]{width:min(100%,620px);max-width:620px}.modal-card[aria-labelledby=void-payment-title],.modal-card[aria-labelledby=overpaid-confirm-title],.modal-card[aria-labelledby=planning-cancel-title],.modal-card[aria-labelledby=reject-contract-title]{width:min(100%,400px);max-width:400px}.modal-card[aria-labelledby=void-invoice-title],.modal-card[aria-labelledby=void-expense-title],.modal-card[aria-labelledby=archive-client-title],.modal-card[aria-labelledby=disable-client-user-title],.modal-card[aria-labelledby=archive-contract-title]{width:min(100%,420px);max-width:420px}.modal-card[aria-labelledby=create-expense-title]{width:min(100%,640px);max-width:640px}.modal-card[aria-labelledby=create-client-title]{width:min(100%,680px);max-width:680px}.modal-card[aria-labelledby=user-modal-title]{width:min(100%,860px);max-width:860px}.modal-card[aria-labelledby=user-modal-title] .form-section,.accounts-editor-modal .form-section{border:0;border-radius:0;padding:0}.accounts-editor-modal,.modal-card[aria-labelledby=client-detail-title]{width:min(100%,720px);max-width:720px}.modal-card[aria-labelledby=create-client-title] .modal-body{max-height:70vh}.client-social-options{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.35rem;display:flex}.client-social-options label{cursor:pointer;align-items:center;gap:.35rem;font-weight:500;display:flex}.client-social-options input{width:16px;height:16px}.modal-card[aria-labelledby=followup-modal-title],.modal-card[aria-labelledby=client-account-editor-title],.modal-card[aria-labelledby=platform-password-title]{width:min(100%,520px);max-width:520px}.modal-backdrop[aria-labelledby=line-target-title] .modal-card{width:min(100%,620px);max-width:620px}.modal-backdrop[aria-labelledby=line-target-title] .modal-body{display:block}.modal-backdrop[aria-labelledby=line-target-title] .form-field{margin-bottom:1rem}.modal-backdrop[aria-labelledby=line-target-title] .modal-body>.form-grid:last-of-type{gap:0}.modal-backdrop[aria-labelledby=parameter-modal-title] .modal-card{width:min(100%,420px);max-width:420px}.contract-share-backdrop{z-index:1200}.contract-share-modal{width:min(100%,500px);max-width:500px}.contract-share-description{color:var(--gray-600);margin:0 0 1rem;font-size:.875rem}.contract-share-loading{color:var(--gray-400);text-align:center;padding:1rem}.contract-share-url-row{gap:.5rem;margin-bottom:1rem;display:flex}.contract-share-url-row input{background:var(--gray-50);border:1.5px solid var(--gray-300);color:var(--gray-700);border-radius:8px;flex:1;min-width:0;padding:.5rem .7rem;font-size:.82rem}.contract-share-url-row .copied{background:var(--success)}.contract-share-qr{text-align:center}.contract-share-qr p{color:var(--gray-400);margin:0 0 .5rem;font-size:.78rem}.contract-share-qr img{display:inline-block}.modal-backdrop[aria-labelledby=parameter-modal-title] .form-section{border:0;border-radius:0;padding:0}.modal-backdrop[aria-labelledby=parameter-modal-title] .form-section>.muted-line{margin-top:-.65rem}.modal-card[aria-labelledby=project-detail-title],.modal-card[aria-labelledby=planning-modal-title],.modal-card[aria-labelledby=editing-modal-title],.modal-backdrop[aria-labelledby=planning-modal-title] .modal-card,.modal-backdrop[aria-labelledby=editing-modal-title] .modal-card{width:min(100%,720px);max-width:720px}.video-item-editor-modal{width:min(100%,480px);max-width:480px;max-height:none}.modal-backdrop:has(.video-item-editor-modal){overflow-y:auto}.video-item-editor-modal textarea{min-height:70px}.video-item-editor-modal .modal-body{display:block}.video-item-editor-modal .form-field{margin-bottom:1rem}.video-item-editor-modal .video-readonly-row{gap:.75rem}.video-item-editor-modal .readonly-display{min-height:42px}.video-editor-section{border-top:1px solid var(--gray-200);margin-top:.85rem;padding-top:.85rem}.video-editor-section>h3,.video-advanced-panel>h3,.video-version-section>h3{color:var(--gray-700);margin:0 0 .5rem;font-size:.82rem;font-weight:800}.video-editor-check{color:var(--gray-700);align-items:center;gap:.45rem;margin-bottom:.65rem;font-size:.875rem;font-weight:700;display:flex}.video-upload-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;display:grid}.video-upload-panel .form-field{margin-bottom:0}.video-upload-status{color:var(--gray-500);grid-column:1/-1;font-size:.76rem;line-height:1.5}.video-advanced-panel{border-top:1px solid var(--gray-200);margin-top:.65rem;padding-top:.65rem}.video-attach-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.video-attach-row .form-field{margin-bottom:0}.video-version-section{border-top:1px solid var(--gray-200);margin-top:.85rem;padding-top:.75rem}.video-version-list>div{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;min-height:32px;font-size:.82rem;display:flex}.video-version-list .btn{color:var(--brand);border:0;padding:0}.video-item-editor-modal .video-delete-button{margin-right:auto}.editing-work-page .editing-tab-panel.active,.modal-backdrop[aria-labelledby=planning-modal-title] .modal-body,.modal-backdrop[aria-labelledby=editing-modal-title] .modal-body{display:block}.editing-work-page .editing-form-section-title{color:var(--gray-800);margin-bottom:.25rem;font-size:.88rem;font-weight:800}.editing-work-page .editing-form-section-note{color:var(--gray-500);margin-bottom:.85rem;font-size:.78rem;line-height:1.5}.editing-work-page .editing-handoff-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(180px,.85fr);align-items:start;gap:1.8rem .85rem;display:grid}.editing-work-page .editing-handoff-grid .full-row{grid-column:1/-1}.editing-work-page .editing-count-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.editing-work-page .editing-handoff-grid label,.editing-work-page .editing-count-grid label{color:var(--gray-700);gap:.35rem;font-size:.875rem;font-weight:600;display:grid}.editing-work-page .editing-handoff-grid input,.editing-work-page .editing-handoff-grid select,.editing-work-page .editing-count-grid input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--gray-900);font:inherit;width:100%;min-height:40px;padding:.55rem .75rem}.editing-work-page .label-example{color:var(--gray-400);margin-left:.45rem;font-size:.78rem;font-weight:500}.editing-work-page .required-mark{color:var(--danger)}.editing-work-page .readonly-main{color:var(--gray-900);font-weight:800}.editing-work-page .readonly-sub{color:var(--gray-500);margin-top:.12rem;font-size:.82rem}.editing-work-page .editing-video-list-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.editing-work-page .editing-video-list-header h3{margin:0;font-size:.95rem;font-weight:700}.editing-work-page .video-card-list{gap:.55rem;display:grid}.editing-work-page .video-item-card{border:1px solid var(--gray-200);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.45rem .75rem;padding:.8rem;display:grid}.editing-work-page .video-card-title{color:var(--gray-900);grid-area:1/1;font-weight:800;line-height:1.35}.editing-work-page .video-card-meta{color:var(--gray-500);flex-wrap:wrap;grid-area:2/1/auto/-1;align-items:center;gap:.45rem;font-size:.76rem;font-weight:800;display:flex}.editing-work-page .st-badge{border-radius:20px;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.editing-work-page .st-editing{color:#1d4ed8;background:#dbeafe}.editing-work-page .st-client_review{color:#5b21b6;background:#ede9fe}.editing-work-page .st-closed{color:#065f46;background:#d1fae5}.editing-work-page .video-card-version{color:var(--gray-600);white-space:nowrap}.editing-work-page .video-card-comments{color:#d97706;grid-area:3/1/auto/-1;font-size:.76rem;font-weight:800;line-height:1.45}.editing-work-page .video-card-comments>span{color:#dc2626}.editing-work-page .video-card-actions{grid-area:1/2;justify-self:end}.editing-work-page .editing-video-empty{color:var(--gray-400);align-items:center;gap:.5rem;padding:.5rem 0;display:flex}
@media (max-width:760px){.editing-work-page .editing-handoff-grid,.editing-work-page .editing-count-grid{grid-template-columns:1fr}.editing-work-page .editing-handoff-grid .full-row{grid-column:auto}}.editing-work-page .editing-tab-panel>label{color:var(--gray-700);gap:.35rem;margin-top:.85rem;font-size:.875rem;font-weight:600;display:grid}.editing-work-page .editing-tab-panel>label>input,.editing-work-page .editing-tab-panel>label>select,.editing-work-page .editing-tab-panel>label>textarea{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--gray-900);font:inherit;width:100%;min-height:40px;padding:.55rem .75rem}.editing-work-page .editing-tab-panel>label>textarea{resize:vertical;min-height:70px}.editing-work-page .readonly-display{background:var(--gray-50);border:1.5px solid var(--gray-200);color:var(--gray-800);overflow-wrap:anywhere;border-radius:8px;min-height:42px;padding:.55rem .75rem;font-size:.9rem;line-height:1.45}.modal-card[aria-labelledby=edit-project-title],.modal-card[aria-labelledby=create-project-title]{width:min(100%,680px);max-width:680px}.modal-card[aria-labelledby=link-quotation-title]{width:min(100%,480px);max-width:480px}.operations-service-modal,.operations-option-modal{width:min(100%,520px);max-width:520px}.operations-preset-modal{width:min(100%,580px);max-width:580px}.operations-term-modal{width:min(100%,680px);max-width:680px}.operations-confirm-modal{width:min(100%,480px);max-width:480px}.operations-service-modal .modal-body>label:not(.checkbox-line),.operations-option-modal .modal-body>label:not(.checkbox-line),.operations-preset-modal .modal-body>label:not(.checkbox-line),.operations-term-modal .modal-body>label:not(.checkbox-line){color:var(--gray-700);gap:.35rem;font-size:.875rem;font-weight:600;display:grid}.operations-service-modal .modal-body>label:not(.checkbox-line)>input,.operations-option-modal .modal-body>label:not(.checkbox-line)>input,.operations-preset-modal .modal-body>label:not(.checkbox-line)>input,.operations-term-modal .modal-body>label:not(.checkbox-line)>input,.operations-term-modal .modal-body>label:not(.checkbox-line)>textarea{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--gray-900);font:inherit;width:100%;min-height:40px;padding:.55rem .75rem}.operations-service-modal .modal-footer,.operations-option-modal .modal-footer,.operations-preset-modal .modal-footer,.operations-term-modal .modal-footer{background:#fff;border-top:0;padding-top:0}.operations-service-modal .checkbox-line .muted-line{margin-top:.1rem;display:block}.icon-button{background:var(--surface);border:1px solid var(--border-strong);color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.35rem;font-weight:600;line-height:1;display:inline-flex}.form-section{border:1px solid var(--border);border-radius:12px;gap:14px;padding:16px;display:grid}.form-section h3{margin:0;font-size:.98rem}.modal-body .form-grid>label:not(.checkbox-line),.modal-body .form-section>label:not(.checkbox-line){color:var(--gray-700);gap:.35rem;font-size:.875rem;font-weight:600;display:grid}.planning-work-page .planning-form-section{border:1px solid var(--gray-100);background:#fff;border-radius:10px;margin-bottom:1rem;padding:1rem}.planning-work-page .planning-form-section.readonly-section{background:var(--gray-50)!important;border-color:var(--gray-200)!important}.planning-work-page .planning-form-section-title{color:var(--gray-900);margin-bottom:.2rem;font-size:.95rem;font-weight:800}.planning-work-page .planning-form-section-note{color:var(--gray-500);margin-bottom:.85rem;font-size:.78rem;line-height:1.45}.planning-work-page .readonly-display{background:var(--gray-50);border:1.5px solid var(--gray-200);color:var(--gray-800);overflow-wrap:anywhere;border-radius:8px;min-height:42px;padding:.55rem .75rem;font-size:.9rem;line-height:1.45}.planning-work-page .readonly-main{color:var(--gray-900);font-weight:800}.planning-work-page .readonly-sub{color:var(--gray-500);margin-top:.12rem;font-size:.82rem}.planning-work-page .assignee-dropdown{position:relative}.planning-work-page .assignee-dropdown-btn{border:1.5px solid var(--gray-200);color:var(--gray-700);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-height:42px;padding:.5rem .75rem;display:flex}.planning-work-page .assignee-dropdown-btn::-webkit-details-marker{display:none}.planning-work-page .assignee-dropdown-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.planning-work-page .assignee-dropdown-chevron{color:var(--gray-400);flex:none}.planning-work-page .assignee-checklist{border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:4;background:#fff;border-radius:8px;gap:.35rem;max-height:220px;padding:.65rem;display:grid;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto}.modal-body .form-grid>label:not(.checkbox-line)>input,.modal-body .form-grid>label:not(.checkbox-line)>select,.modal-body .form-grid>label:not(.checkbox-line)>textarea,.modal-body .form-section>label:not(.checkbox-line)>input,.modal-body .form-section>label:not(.checkbox-line)>select,.modal-body .form-section>label:not(.checkbox-line)>textarea{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--gray-900);font:inherit;width:100%;min-height:40px;padding:.55rem .75rem}.modal-body .form-grid>label:not(.checkbox-line)>textarea,.modal-body .form-section>label:not(.checkbox-line)>textarea{resize:vertical;min-height:70px}.production-detail-modal .modal-body{display:block}.production-detail-modal .detail-section{border:1px solid var(--gray-100);background:#fff;border-radius:10px;margin-bottom:1rem;padding:1rem}.production-detail-modal .detail-section-title{color:var(--gray-800);margin:0 0 .75rem;font-size:.92rem;font-weight:800}.production-detail-modal .detail-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem .9rem;display:grid}.production-detail-modal .detail-grid>div{background:0 0;padding:0;display:block}.production-detail-modal .detail-item-label{color:var(--gray-400);margin-bottom:.15rem;font-size:.74rem;font-weight:700}.production-detail-modal .detail-item-value{color:var(--gray-800);overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.production-detail-modal .detail-progress-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.production-detail-modal .detail-metric{background:var(--gray-50);border-radius:8px;min-width:0;padding:.7rem .75rem}.production-detail-modal .detail-metric-value{color:var(--gray-900);font-size:1.2rem;font-weight:800;line-height:1.1}.production-detail-modal .detail-metric-label{color:var(--gray-500);margin-top:.25rem;font-size:.76rem}.production-detail-modal .detail-next-step{border-left:4px solid var(--brand);background:#eff6ff;border-radius:8px;padding:.85rem 1rem}.production-detail-modal .detail-next-step strong{margin-bottom:.25rem;display:block}@media (max-width:640px){.production-detail-modal .detail-grid,.production-detail-modal .detail-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.next-step-box{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;gap:6px;padding:12px;display:grid}.next-step-box strong{color:var(--text);font-size:.98rem;line-height:1.45}.next-step-box span{color:var(--muted);font-size:.86rem;font-weight:750;line-height:1.55}.signature-expiry-badge{border-radius:20px;margin-left:.35rem;padding:.1rem .45rem;font-size:.68rem;font-weight:700;display:inline-block}.signature-expiry-badge.expired{color:#991b1b;background:#fee2e2}.signature-expiry-badge.soon{color:#92400e;background:#fef3c7}.contract-detail-body{gap:14px}.contract-preview-modal{width:min(100%,860px);max-width:860px}.contract-preview-modal .modal-header{align-items:center}.contract-preview-modal .modal-actions{align-items:center;gap:.5rem;display:flex}.contract-preview-body{display:block}.contract-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.contract-detail-summary>div,.detail-grid>div{background:var(--surface-muted);border-radius:var(--radius);gap:5px;padding:12px;display:grid}.contract-detail-summary span,.detail-grid span,.detail-list span,.contract-action-panel span{color:var(--muted);font-size:.82rem;font-weight:750;line-height:1.5}.contract-detail-summary strong,.detail-grid strong,.detail-list strong,.contract-action-panel strong{color:var(--text);font-size:.95rem;line-height:1.45}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.detail-list{gap:8px;display:grid}.detail-list article{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) minmax(160px,auto);align-items:center;gap:12px;padding:12px;display:grid}.detail-list-row{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.detail-list-row>div{gap:4px;display:grid}.pagination-controls{border-top:1px solid var(--border);color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;padding-top:16px;display:flex}.muted-text{color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.success-note{border-radius:var(--radius);color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;padding:12px;font-weight:800}.tab-strip{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:4px;padding:4px;display:grid}.tab-strip button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:40px;padding:8px 12px;font-weight:850}.tab-strip button.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #0f172a1a}.planning-tabs,.editing-tabs{border:1px solid var(--border);background:var(--gray-50);border-radius:10px;gap:.35rem;margin-bottom:1rem;padding:.25rem;display:flex;overflow-x:auto}.planning-tab-btn,.editing-tab-btn{color:var(--gray-500);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:1 0 auto;padding:.5rem .75rem;font-size:.82rem;font-weight:800}.planning-tab-btn:hover,.editing-tab-btn:hover{color:var(--gray-800);background:#fff}.planning-tab-btn.active,.editing-tab-btn.active{color:var(--brand);background:#fff;box-shadow:0 1px 3px #0f172a14}.checklist-list{gap:8px;display:grid}.checklist-item{border-radius:var(--radius);align-items:center;gap:10px;padding:10px 12px;display:flex}.checklist-item span{border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:900;display:inline-flex}.checklist-item.ok{color:#047857;background:#ecfdf5}.checklist-item.ok span{background:#bbf7d0}.checklist-item.missing{color:#b91c1c;background:#fef2f2}.checklist-item.missing span{background:#fecaca}.contract-action-panel{background:var(--surface-muted);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.contract-action-panel.vertical{grid-template-columns:1fr;align-items:stretch}.danger-action{border-color:var(--danger);color:var(--danger)}.form-grid{gap:14px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.form-field-wide{grid-column:1/-1}.form-total-card{background:var(--primary-soft);border-radius:10px;gap:6px;min-height:68px;padding:12px;display:grid}.form-total-card span{color:var(--primary);font-size:.82rem;font-weight:850}.form-total-card strong{font-size:1.18rem}.contract-create-page{gap:14px;width:100%;max-width:1120px;margin:0 auto;display:grid}.contract-create-page .panel-card{min-height:0;padding:1rem}.contract-create-page .contract-preset-card .empty-hint{padding:.55rem .7rem}.step-indicator{grid-template-columns:auto minmax(56px,1fr) auto minmax(56px,1fr) auto minmax(56px,1fr) auto;justify-content:center;align-items:flex-start;gap:0;width:100%;max-width:680px;margin:0 auto;display:grid}.step-indicator button{color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:0;border-radius:0;place-items:center;gap:8px;min-height:0;padding:0;display:grid}.step-indicator button:disabled{cursor:not-allowed;opacity:.6}.step-indicator button strong{color:#8b95a5;background:#e5e7eb;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;display:inline-flex}.step-indicator button span{color:var(--muted);white-space:nowrap;font-size:.82rem;font-weight:850}.step-indicator .step-line{background:var(--border-strong);height:2px;margin:15px 16px 0;display:block}.step-indicator button.active{box-shadow:none}.step-indicator button.active strong{background:var(--primary);color:#fff}.step-indicator button.active span{color:var(--primary)}.contract-create-grid{gap:18px;display:grid}.contract-flow{width:100%;max-width:1180px;margin:0 auto}.contract-flow-main{flex-direction:column;gap:16px;min-width:0;display:flex}.contract-flow-summary{min-width:0}.contract-flow-summary .contract-step-heading .card-title{border-bottom:0;padding-bottom:0}.contract-flow-summary .empty-hint{padding:1rem}.contract-flow-summary .contract-step-footer{border-top:0;margin-top:0;padding-top:12px}
@media (min-width:1024px){.contract-flow-split{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start}.contract-flow-summary{max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow:auto}}.contract-option-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.contract-service-category{margin-bottom:1.15rem}.contract-service-category-title{color:var(--gray-600);margin:.15rem 0 .55rem;font-size:.84rem;font-weight:800}.contract-option-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;gap:4px;min-height:122px;padding:.8rem .85rem;display:grid}.contract-option-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.contract-option-card strong{color:var(--text);font-size:.9rem;line-height:1.35}.contract-option-card span{color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.45}.contract-option-card small{color:var(--primary);font-weight:900}.contract-option-card .contract-video-count{color:#047857;font-size:.75rem;font-weight:800}.contract-create-summary{position:sticky;top:18px}.quote-line-list{gap:10px;display:grid}.quote-line-row{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(260px,1fr) 110px 140px 120px auto;align-items:end;gap:10px;padding:12px;display:grid}.contract-flow-summary .quote-line-row{grid-template-columns:1fr 88px;align-items:stretch}.contract-flow-summary .quote-line-row .form-field:first-child,.contract-flow-summary .quote-line-row>strong,.contract-flow-summary .quote-line-row .form-field:nth-child(3){grid-column:1/-1}.contract-flow-summary .quote-line-row>strong{line-height:1.4}.contract-flow-summary .quote-line-row .button{grid-column:1/-1}.quote-line-row>strong{text-align:right;line-height:44px}.quote-total-bar,.contract-step-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.quote-total-bar{background:var(--primary-soft);color:var(--primary);border-radius:10px;padding:14px;font-weight:900}.quote-total-bar strong{font-size:1.25rem}.contract-step-footer{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.contract-step-footer:not(.split){justify-content:flex-end}.contract-step-footer .button.primary{min-width:220px;min-height:46px}.contract-details-panel{margin-top:14px}.contract-details-panel summary{color:var(--muted);cursor:pointer;margin-bottom:12px;font-size:.84rem;font-weight:850}.checkbox-inline-list{flex-wrap:wrap;gap:10px 16px;margin-top:6px;display:flex}.checkbox-inline-list label{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:.9rem;font-weight:750;display:inline-flex}.input.readonly,.input:read-only{background:var(--surface-muted);color:var(--muted)}.payment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.payment-choice-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.payment-choice-card.active{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 3px #1a56db1a}.payment-choice-card span{gap:4px;display:grid}.payment-choice-card small{color:var(--muted);font-weight:700}.term-checkbox-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.term-checkbox{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.contract-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.contract-preview-grid>div,.quote-total-panel>div{background:var(--surface-muted);border-radius:var(--radius);gap:5px;padding:12px;display:grid}.contract-preview-grid span,.quote-total-panel span{color:var(--muted);font-size:.82rem;font-weight:850}.contract-preview-grid small{color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.5}.quote-total-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quote-total-panel>div:last-child{background:var(--primary-soft);color:var(--primary)}.discount-inline-control{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;display:grid}.discount-inline-control .input{min-width:0}.contract-preview-document-card{padding:0;overflow:hidden}.contract-preview-document-card .panel-header{border-bottom:1px solid var(--border);padding:16px 20px}.contract-preview-document{background:#fff;gap:18px;padding:24px;display:grid}.contract-preview-document header,.contract-preview-document footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.contract-preview-document header strong{color:var(--primary);font-size:1.05rem}.contract-preview-document header span,.contract-preview-document-lines span:last-child{color:var(--muted);font-weight:750}.contract-preview-document-lines{border-block:1px solid var(--border);gap:0;display:grid}.contract-preview-document-lines>div{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.contract-preview-document-lines>div+div{border-top:1px solid var(--border)}.contract-preview-document footer{color:var(--primary)}.ar-payment-record-list{border-block:1px solid var(--border);display:grid}.ar-payment-record-row{grid-template-columns:92px 116px 96px minmax(120px,1fr) 96px auto;align-items:center;gap:10px;min-height:44px;padding:8px 0;display:grid}.ar-payment-record-row+.ar-payment-record-row{border-top:1px solid var(--border)}.ar-payment-record-row span{color:var(--muted);font-size:.84rem;font-weight:700}.ar-payment-record-row strong{color:var(--text);white-space:nowrap}.button:disabled{cursor:not-allowed;opacity:.6}.client-portal{max-width:none;min-height:100vh;margin:0;padding:0;display:block}.client-portal-header{border-bottom:1px solid var(--gray-200);z-index:10;background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.client-portal-brand{color:var(--brand);white-space:nowrap;align-items:center;gap:.45rem;font-size:1rem;font-weight:900;display:flex}.client-portal-brand img{object-fit:contain;flex:none;width:34px;height:34px}.client-role-hint{color:var(--muted);text-align:right;max-width:360px;font-size:.78rem;font-weight:800;line-height:1.35}.topbar-user{color:var(--gray-500);font-size:.85rem;font-weight:700}.client-portal-shell{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:1rem;max-width:1120px;margin:0 auto;padding:1.25rem 1rem 2.5rem;display:grid}.client-portal-main{min-width:0;display:block}.client-page-head{margin-bottom:1rem}.client-page-head h1{font-size:1.55rem;font-weight:900}.client-page-head p{color:var(--gray-500);margin:.15rem 0 0;font-size:.92rem;font-weight:700}.client-portal-nav{border:1px solid var(--gray-200);background:#fff;border-radius:12px;padding:.55rem;display:block;position:sticky;top:72px}.client-portal-nav a{color:var(--gray-700);border:0;border-radius:9px;margin-bottom:.2rem;padding:.72rem .85rem;font-size:.9rem;font-weight:900;text-decoration:none;display:block}.client-portal-nav a.active{background:var(--brand-light);color:var(--brand)}.client-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:1rem;display:grid}.client-summary-grid>div,.client-section{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px}.client-summary-grid>div{gap:2px;margin-bottom:1rem;padding:.9rem 1rem;display:grid}.client-summary-grid>div.is-alert,.client-summary-grid>div.is-success{border-color:var(--border)}.client-summary-grid>div.is-alert strong{color:var(--danger)}.client-summary-grid>div.is-success strong{color:var(--success)}.client-summary-grid span,.client-list-row span{color:var(--muted);font-size:.86rem;font-weight:750}.client-summary-grid strong{font-size:1.35rem}.client-summary-grid p{color:var(--muted);margin:0;font-size:.82rem;font-weight:750}.client-section{margin-bottom:1rem;padding:20px}.client-section h2{font-size:1rem}.client-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.client-section-head span{color:var(--muted);font-size:.84rem;font-weight:750}.client-main-section-heading{gap:.25rem;margin-bottom:1rem;display:grid}.client-main-section-heading h2{font-size:1.2rem;font-weight:900}.client-main-section-heading p{color:var(--muted);margin:0;font-size:.9rem;font-weight:700}.client-list{gap:10px;margin-top:14px;display:grid}.client-list-row{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.client-list-row>div{gap:5px;min-width:0;display:grid}.line-log-status{color:var(--muted);text-align:right;justify-items:end;gap:4px;font-size:.78rem;font-weight:700;line-height:1.5;display:grid}.list-actions,.row-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.list-actions{margin:14px 0}.client-list-row strong,.client-list-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-list-row .client-script-preview{text-overflow:clip;white-space:normal;max-width:72ch;overflow:visible}.client-script-preview-list{flex-wrap:wrap;gap:6px;max-width:72ch;display:flex}.client-list-row .client-script-preview-list span{background:var(--surface-muted);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:100%;padding:3px 8px;font-size:.78rem;font-weight:750;display:inline-flex;overflow:hidden}.client-project-list{margin-top:14px;display:grid}.client-project-card{border-top:1px solid var(--border);gap:0;padding:16px;display:grid}.client-project-card:first-child{border-top:0}.client-project-card>div:first-child{gap:6px;display:grid}.client-project-card strong{font-size:1rem}.client-project-card span{color:var(--muted);font-size:.82rem;font-weight:700}.client-progress-line{background:var(--surface-muted);border-radius:999px;height:8px;margin-top:12px;overflow:hidden}.client-progress-line div{background:var(--primary);border-radius:inherit;height:100%}.client-project-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.client-project-stats div{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;gap:3px;padding:9px 10px;display:grid}.client-project-stats strong{font-size:1rem;line-height:1.2}.client-project-stats span{font-size:.72rem;font-weight:900}.client-contract-list{gap:14px;margin-top:14px;display:grid}.client-info-lines{gap:8px;margin-top:14px;display:grid}.client-info-lines div{border-bottom:1px solid var(--border);grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;display:grid}
.client-info-lines div.is-alert strong{color:#b45309}.client-info-lines span{color:var(--muted);font-size:.84rem;font-weight:800}.client-info-lines strong{font-size:.92rem}.client-contract-card{border:1px solid var(--border);border-radius:10px;gap:14px;padding:14px;display:grid}.contract-card{border:1px solid var(--border);border-radius:10px;padding:.9rem}.client-contract-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.contract-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.55rem;display:flex}.client-contract-head>div:first-child,.contract-title-row>div:first-child{gap:4px;min-width:0;display:grid}.contract-title{color:var(--text);font-size:1rem;font-weight:900}.client-contract-head span{color:var(--muted);font-size:.9rem;font-weight:750}.contract-meta{color:var(--muted);margin-top:.1rem;font-size:.8rem;font-weight:700}.contract-file-empty{color:var(--muted);text-align:right;font-size:.82rem;font-weight:800}.contract-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.client-contract-items{border:1px solid var(--border);border-radius:8px;overflow:hidden}.contract-items{border-collapse:collapse;width:100%;margin-top:.65rem;font-size:.86rem}.client-contract-items-head,.client-contract-item{grid-template-columns:minmax(0,1.5fr) .6fr .7fr .7fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.client-contract-items-head{background:var(--surface-muted);color:var(--muted);font-size:.82rem;font-weight:900}.contract-items th{color:var(--muted);text-align:left;padding:.5rem .35rem;font-size:.76rem;font-weight:900}.contract-items td{border-top:1px solid var(--border);color:var(--muted);vertical-align:top;padding:.5rem .35rem;font-size:.86rem;font-weight:750}.contract-items td strong{color:var(--text)}.contract-items .num{text-align:right;white-space:nowrap}.client-contract-item+.client-contract-item{border-top:1px solid var(--border)}.client-contract-item>div{gap:3px;min-width:0;display:grid}.client-contract-item span{color:var(--muted);font-size:.88rem;font-weight:750}.client-contract-total{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.contract-total{justify-content:end;gap:.25rem;margin-top:.7rem;font-weight:800;display:grid}.client-contract-total div{background:var(--surface-muted);border-radius:8px;gap:4px;padding:10px;display:grid}.contract-total div{justify-content:space-between;gap:1.5rem;display:flex}.contract-total .grand{color:var(--text);font-size:1.05rem;font-weight:900}.client-contract-total span{color:var(--muted);font-size:.82rem;font-weight:800}.contract-total span{color:var(--muted);font-size:inherit;font-weight:inherit}.client-contract-total strong{font-size:1rem}.contract-total strong{font-size:inherit}.client-notification-section{box-shadow:none;padding:0;overflow:hidden}.client-notification-section .panel-header{border-bottom:1px solid var(--border);margin-bottom:0;padding:.95rem 1rem}.notification-count{color:#991b1b;vertical-align:middle;background:#fee2e2;border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;margin-left:.25rem;font-size:.78rem;font-weight:900;display:inline-flex}.client-notification-list{gap:.45rem;padding:.75rem 1rem 1rem;display:grid}.client-notification-item{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.client-notification-item.is-unread{background:#eff6ff;border-color:#bfdbfe}.client-notification-item a,.client-notification-item>div{color:inherit;min-width:0;text-decoration:none;display:grid}.notification-title{color:var(--text);font-size:.9rem;font-weight:900}.notification-body{color:var(--gray-700);margin-top:.12rem;font-size:.82rem;font-weight:700}.notification-meta,.notification-read{color:var(--muted);margin-top:.18rem;font-size:.74rem;font-weight:900}.client-notification-item strong,.client-notification-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-notification-item .notification-read{text-align:center}.client-script-modal{max-width:860px;height:min(88vh,780px)}.client-script-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:0 18px 14px;display:flex}.client-script-tabs button{background:var(--surface-muted);border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:850}.client-script-tabs button.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.client-script-modal-body{background:#f8fafc;padding:16px 20px;display:block;overflow:auto}.client-script-modal-episode{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;min-height:100%;display:flex;overflow:hidden}.client-script-reader-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.client-script-reader-kicker{color:var(--primary);font-size:.78rem;font-weight:900}.client-script-reader-head h3{margin:2px 0 0;font-size:1.08rem;line-height:1.35}.client-script-reader{overflow-wrap:anywhere;flex:auto;padding:18px}.client-script-content{white-space:normal;gap:10px;max-width:72ch;margin:0 auto;line-height:1.75;display:grid}.client-script-content p{margin:0}.client-script-empty-content{color:var(--muted);margin:0}.client-script-latest-revision{color:#92400e;background:#fffbeb;border-left:4px solid #f59e0b;border-radius:8px;gap:4px;max-width:72ch;margin:16px auto 0;padding:10px 12px;font-size:.84rem;font-weight:800;display:grid}.client-script-latest-revision strong{color:#78350f}.client-script-action-panel{border-top:1px solid var(--border);background:#fff;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.client-script-action-copy{color:var(--text);gap:3px;font-size:.86rem;font-weight:900;display:grid}.client-script-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.client-script-approved{color:#047857;background:#d1fae5;border-radius:999px;align-items:center;min-height:30px;padding:3px 11px;font-size:.82rem;font-weight:900;display:inline-flex}.client-script-action-note{color:var(--muted);font-size:.82rem;font-weight:800}.client-script-comment-form{border-top:1px solid var(--border);padding:14px 18px}.client-script-comment-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.client-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.client-single-column{gap:18px;display:grid}.public-contract-page{background:var(--gray-50);min-height:100vh;padding:0 0 90px}.public-contract-shell{gap:0;max-width:720px;margin:0 auto;display:grid}.public-contract-header,.public-contract-card,.public-sign-bar{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:10px}.public-contract-header{z-index:10;border-top:0;border-left:0;border-right:0;border-radius:0;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex;position:sticky;top:0}.public-contract-header p{color:var(--muted);margin-top:4px;font-weight:800}.public-contract-brand{color:var(--brand);align-items:center;gap:.4rem;font-size:1.1rem;font-weight:800;display:flex}.public-contract-brand img{object-fit:contain;flex:none;width:32px;height:32px}.public-contract-number{color:var(--muted);font-size:.82rem;font-weight:800}.view-topbar{border-bottom:1px solid var(--border);z-index:10;background:#fff;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex;position:sticky;top:0}.view-topbar .brand{color:var(--brand);align-items:center;gap:.4rem;font-size:1.1rem;font-weight:800;display:flex}.view-topbar .brand img{object-fit:contain;width:32px;height:32px}.view-topbar .qt-no{color:var(--gray-400);font-size:.8rem;font-weight:800}.public-contract-loading{color:var(--muted);text-align:center;place-content:center;align-items:center;gap:.75rem;min-height:100dvh;padding:2rem;display:grid}.public-contract-loading p{color:var(--muted);margin:0;font-size:.875rem}.public-contract-error{color:var(--muted);text-align:center;place-content:center;align-items:center;gap:10px;min-height:100dvh;padding:2rem;display:grid}.public-contract-error .err-icon{color:#991b1b;background:#fee2e2;border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:64px;height:64px;font-size:1.8rem;font-weight:900;display:flex}.public-contract-error h2{color:var(--text);font-size:1.25rem}.public-contract-card{gap:.7rem;margin:1rem 1rem .75rem;padding:1rem;display:grid}.public-contract-notice{border-radius:8px;margin:.75rem 1rem 0;padding:.7rem .9rem;font-size:.82rem;font-weight:700;line-height:1.6}.public-contract-notice.warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.public-contract-notice.success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.public-contract-card h1,.public-contract-card h2{color:var(--gray-400);letter-spacing:.07em;text-transform:uppercase;font-size:.75rem;font-weight:700}.v-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin:1rem 1rem .75rem;padding:1rem}.v-info-row{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:.55rem 0;display:flex}.v-info-row:last-child{border-bottom:0}.v-label{color:var(--gray-400);font-size:.82rem}.v-value{color:var(--gray-800);text-align:right;font-size:.88rem;font-weight:700}.v-items{border-collapse:collapse;width:100%;font-size:.85rem}.v-items th{background:var(--gray-50);border-bottom:1px solid var(--border);color:var(--gray-500);text-align:left;padding:.5rem;font-size:.72rem;font-weight:800}.v-items td{border-bottom:1px solid var(--gray-100);vertical-align:top;padding:.5rem}.v-items tr:last-child td{border-bottom:0}.v-item-name{font-size:.875rem;font-weight:600}.v-item-desc,.v-notes{color:var(--gray-600);white-space:pre-wrap;font-size:.82rem;line-height:1.8}.v-totals{border-top:1px solid var(--border);gap:.35rem;margin-top:.75rem;padding-top:.75rem;display:grid}
.v-total-row{color:var(--gray-600);justify-content:space-between;align-items:center;font-size:.86rem;display:flex}.v-total-row.grand{color:var(--gray-900);padding-top:.35rem;font-size:1rem;font-weight:900}.v-total-label{color:var(--gray-500)}.public-info-grid{grid-template-columns:1fr;gap:.35rem;display:grid}.public-info-grid div,.public-total-box div{justify-content:space-between;gap:.5rem;display:flex}.public-info-grid div{justify-content:flex-start;font-size:.875rem}.public-info-grid span,.public-total-box span,.public-line-item span{color:var(--muted);font-size:.85rem;font-weight:650}.public-info-grid span{flex-shrink:0;min-width:65px}.public-info-grid strong{font-size:.875rem;font-weight:600}.public-line-items{gap:8px;display:grid}.public-line-item{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 56px 112px;align-items:center;gap:12px;padding:10px 0;display:grid}.public-line-item.head{background:var(--surface-muted);color:var(--muted);border:0;border-radius:0;padding:10px 12px;font-size:.82rem;font-weight:900}.public-line-item b,.public-line-item>span:last-of-type{text-align:right}.public-total-box{justify-self:end;gap:8px;min-width:min(100%,320px);display:grid}.public-total-box div{padding:.3rem 0}.public-total-box .grand{border-top:2px solid var(--border);color:var(--brand);margin-top:.3rem;padding-top:.6rem;font-size:1.1rem;font-weight:800}.pre-line,.public-terms{color:var(--muted);white-space:pre-wrap;font-size:.85rem;font-weight:500;line-height:1.8}.public-terms{color:var(--gray-700)}.signature-canvas{cursor:crosshair;touch-action:none;border:0;border-radius:0;flex:1;width:100%;height:100%;min-height:0;display:block}.signature-panel{background:var(--surface);z-index:100;border:0;border-radius:0;flex-direction:column;max-width:none;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:auto}.sign-topbar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.sign-topbar strong{font-size:.9rem}.btn-back,.btn-clear{cursor:pointer;background:0 0;font-family:inherit}.btn-back{color:var(--brand);border:none;padding:.3rem .5rem;font-size:.9rem;font-weight:700}.btn-clear{border:1.5px solid var(--border-strong);color:var(--muted);border-radius:6px;padding:.3rem .8rem;font-size:.8rem;font-weight:700}.sign-instr{background:var(--surface-muted);border-bottom:1px solid var(--border);color:var(--muted);text-align:center;flex-shrink:0;padding:.6rem 1rem;font-size:.82rem;font-weight:700}.sign-canvas-wrap{border-bottom:2px dashed var(--border);background:#fff;flex:1;min-height:280px;position:relative;overflow:hidden}.canvas-placeholder{color:var(--gray-300);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;font-size:.9rem;display:flex;position:absolute;inset:0}.canvas-placeholder .icon{opacity:.4;font-size:2.5rem}.sign-footer{flex-shrink:0;padding:1rem}.sign-name-input{border:1.5px solid var(--border-strong);border-radius:8px;width:100%;margin-bottom:.75rem;padding:.6rem .8rem;font-family:inherit;font-size:.9rem}.sign-name-input:focus{border-color:var(--brand);outline:none}.btn-complete{background:var(--success);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:800}.btn-complete:disabled{background:var(--gray-300);cursor:not-allowed}.public-sign-bar{z-index:20;border-bottom:0;border-left:0;border-right:0;border-radius:0;align-items:center;gap:.5rem;width:100%;padding:.9rem 1rem;display:grid;position:fixed;bottom:0;left:0;right:0;transform:none;box-shadow:0 -4px 12px #00000014}.public-sign-bar p{color:var(--muted);text-align:center;font-size:.78rem;font-weight:800}.public-sign-bar .button{width:100%}.sign-bar{z-index:20;background:#fff;padding:.9rem 1rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000014}.sign-bar p{color:var(--gray-500);text-align:center;margin-bottom:.55rem;font-size:.78rem;font-weight:800}.btn-sign{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;padding:.85rem 1rem;font-size:.95rem;font-weight:900}.btn-sign:active{transform:translateY(1px)}.signed-contract-panel .panel-header{align-items:center}.signed-contract-panel .sig-display-wrap{margin-top:0}.public-contract-done-page{padding-bottom:0}.done-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#10b981 0%,#059669 100%);padding:2rem 1rem 1.5rem}.done-hero .check{margin-bottom:.5rem;font-size:3rem;font-weight:900}.done-hero h2{font-size:1.3rem;font-weight:900}.done-hero p{opacity:.85;margin-top:.3rem;font-size:.875rem;font-weight:700}.done-body{width:100%;max-width:600px;margin:0 auto;padding:1rem}.signed-preview{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:1rem;padding:1rem}.v-card-title{color:var(--text);font-size:.98rem;font-weight:900}.sig-display-wrap{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.sig-display-label{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:700}.sig-display-canvas{border:1px solid var(--border);background:#fff;border-radius:6px;display:block}.sig-meta{color:var(--muted);margin-top:.3rem;font-size:.78rem;font-weight:700}.done-notice{background:var(--brand-light);color:#1e40af;border:1px solid #c7d7f7;border-radius:10px;margin-bottom:1rem;padding:1rem;font-size:.875rem;font-weight:700;line-height:1.7}.btn-print-done{background:var(--surface-muted);border:1.5px solid var(--border-strong);color:var(--text);cursor:pointer;border-radius:10px;width:100%;padding:.8rem;font-family:inherit;font-size:.9rem;font-weight:800}.contract-print-view{color:#111;background:#fff;border:0;gap:0;padding:0;font-size:10pt;line-height:1.6;display:block}.contract-print-view.print-only{display:none}.contract-print-header{border-bottom:4px solid #1a56db;justify-content:space-between;align-items:start;gap:18px;margin-bottom:21px;padding-bottom:16px;display:flex}.contract-print-brand{align-items:center;gap:11px;display:flex}.contract-print-brand img{object-fit:contain;width:56px;height:56px}.contract-print-brand strong{color:#1a56db;letter-spacing:.08em;font-size:22pt;font-weight:900;line-height:1;display:block}.contract-print-brand span,.contract-print-meta small,.contract-print-signatures span,.contract-print-view footer{color:#6b7280;font-size:8.5pt;font-weight:400;display:block}.contract-print-meta{text-align:right;gap:4px;display:grid}.contract-print-meta strong{letter-spacing:.15em;font-size:16pt;font-weight:800}.contract-print-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.contract-print-info>div{background:#fafafa;border:1px solid #e5e7eb;border-radius:7px;padding:12px 15px}.contract-print-info h3,.contract-print-section-title,.contract-print-notes h3,.contract-print-terms h3{color:#1a56db;letter-spacing:.1em;text-transform:uppercase;margin:0 0 9px;font-size:8pt}.contract-print-info h3{border-bottom:1px solid #e5e7eb;padding-bottom:5px}.contract-print-info p{gap:8px;margin:0 0 5px;font-size:9.5pt;display:flex}.contract-print-info span{color:#9ca3af;flex-shrink:0;min-width:75px;font-size:8.5pt;font-weight:400}.contract-print-section-title{padding-left:3px}.contract-print-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:9.5pt}.contract-print-table th,.contract-print-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e7eb;padding:8px 11px}.contract-print-table th{color:#fff;background:#1a56db;border-bottom:0;font-size:8.5pt}.contract-print-table th:first-child{width:20pt}.contract-print-table th:nth-child(3),.contract-print-table th:nth-child(4){width:30pt}.contract-print-table th:nth-child(5){text-align:right;width:65pt}.contract-print-table th:nth-child(6){text-align:right;width:70pt}.contract-print-table td:first-child,.contract-print-table td:nth-child(3),.contract-print-table td:nth-child(4){text-align:center}.contract-print-table td:nth-child(5),.contract-print-table td:nth-child(6){text-align:right}.contract-print-table td span{color:#9ca3af;margin-top:3px;font-size:8pt;display:block}.contract-print-totals{border:1px solid #e5e7eb;border-radius:7px;gap:0;width:280px;min-width:min(100%,280px);margin-bottom:24px;margin-left:auto;display:grid;overflow:hidden}.contract-print-totals div{grid-template-columns:1fr auto;padding:7px 13px;font-size:9.5pt;display:grid}.contract-print-totals div:nth-child(odd):not(.grand){background:#f9fafb}.contract-print-totals .grand{color:#fff;background:#1a56db;border-top:0;padding:9px 13px;font-size:12pt}.contract-print-totals .negative{color:#ef4444}.contract-print-notes p,.contract-print-terms p{color:#374151;white-space:pre-wrap;margin:0;font-size:.86rem}.contract-print-notes{background:#fafafa;border:1px solid #e5e7eb;border-radius:7px;margin-bottom:24px;padding:10px 15px}.contract-print-terms{border-top:2px solid #e5e7eb;gap:12px;margin:24px 0;padding-top:19px;display:grid}.contract-print-signatures{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px;display:grid}.contract-print-signatures>div{border-top:1px solid #9ca3af;min-height:110px;padding-top:10px}.contract-print-signature-svg{background:#fff;border:1px solid #e5e7eb;border-radius:4px;margin:8px 0 5px;display:block}.contract-print-sign-line{color:#6b7280;border-bottom:1px solid #111827;height:56px;margin:8px 0 5px}.contract-print-view footer{text-align:center;border-top:1px solid #e5e7eb;padding-top:10px}.public-review-page{background:var(--gray-50);color:var(--gray-900);min-height:100vh;padding:0 0 2rem}.public-review-topbar{border-bottom:1px solid var(--gray-200);z-index:20;background:#fff;justify-content:space-between;align-items:center;min-height:58px;padding:.65rem max(1rem,50vw - 380px + 1rem);display:flex;position:sticky;top:0}.public-review-topbar-brand{color:var(--brand);white-space:nowrap;align-items:center;gap:.45rem;font-size:.95rem;font-weight:900;display:flex}.public-review-topbar-brand img{object-fit:contain;flex:none;width:30px;height:30px}.public-review-topbar-note{color:var(--gray-500);font-size:.86rem;font-weight:800}.public-review-shell{gap:1rem;max-width:760px;margin:0 auto;padding:1rem;display:grid}.public-review-loading{color:var(--gray-400);text-align:center;padding:3rem;font-size:.875rem}.public-review-state{border:1px solid var(--gray-200);color:var(--gray-500);text-align:center;background:#fff;border-radius:12px;padding:2rem 1rem}
.public-review-state h2,.public-review-state h3{color:var(--gray-900);margin:0;font-weight:900}.public-review-state p{color:var(--gray-500);margin:.35rem 0 0}.public-review-state.is-success{background:#ecfdf5;border-color:#bbf7d0}.public-review-state.is-success h3,.public-review-state.is-success p{color:#065f46}.public-review-header,.public-review-card{background:var(--surface);border:1px solid var(--gray-200);box-shadow:none}.public-review-header{background:0 0;border:0;align-items:flex-start;padding:.15rem 0 0;display:block}.public-review-header h1{font-size:1.35rem;font-weight:900;line-height:1.35}.public-review-header p{color:var(--gray-500);margin-top:.15rem;font-size:.88rem;font-weight:700}.public-review-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.public-review-summary div{border:1px solid var(--gray-200);background:#fff;border-radius:12px;gap:.2rem;min-width:0;padding:.8rem .9rem;display:grid}.public-review-summary div.is-alert{border-color:var(--danger)}.public-review-summary div.is-success{border-color:#bbf7d0}.public-review-summary strong{color:var(--gray-900);font-size:1.15rem;font-weight:900;line-height:1.2}.public-review-summary div.is-alert strong{color:var(--danger)}.public-review-summary div.is-success strong{color:#047857}.public-review-summary span{color:var(--gray-500);font-size:.74rem;font-weight:800}.public-review-card{border-radius:12px;gap:0;padding:0;display:grid;overflow:hidden}.public-review-done{text-align:center;background:#d1fae5;border:0;border-radius:12px;gap:4px;margin:1rem 0;padding:2rem;display:grid}.all-done{text-align:center;background:#d1fae5;border-radius:12px;margin:1rem 0;padding:2rem}.public-review-done h3,.all-done h3{color:#065f46;font-size:1.1rem}.public-review-done p{color:#065f46;margin:0;font-weight:750}.all-done p{color:#065f46;margin-top:.25rem}.public-completed-list{gap:10px;display:grid}.public-completed-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.public-completed-item>div:first-child{gap:4px;min-width:0;display:grid}.public-completed-item span{color:var(--muted);font-size:.88rem;font-weight:750}.public-download-link{background:var(--success);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:8px;justify-content:center;align-items:center;margin:.75rem 1rem .1rem;padding:.8rem 1rem;font-weight:800;text-decoration:none;display:flex}.download-link{background:var(--success);color:#fff;border-radius:8px;justify-content:center;align-items:center;margin:.75rem 0 .1rem;padding:.8rem 1rem;font-weight:800;text-decoration:none;display:flex}.public-download-link:hover,.download-link:hover{color:#fff;background:#059669;text-decoration:none}.public-download-link:disabled{cursor:not-allowed;opacity:.65}.public-completed-item .public-download-link{margin:0;padding:.45rem .75rem}.public-review-card-head{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:start;gap:16px;padding:1rem 1rem .85rem;display:flex}.public-review-card-head h2{margin-top:.15rem;font-size:1.35rem;font-weight:800;line-height:1.3}.public-review-card-head p{color:var(--gray-500);margin-top:.25rem;font-size:.86rem;font-weight:800}.public-review-meta-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.85rem 1rem;display:grid}.public-review-meta-strip div{background:var(--gray-50);border-radius:9px;gap:.2rem;padding:.65rem .75rem;display:grid}.public-review-meta-strip span{color:var(--gray-500);font-size:.72rem;font-weight:850}.public-review-meta-strip strong{color:var(--gray-900);font-size:.9rem}.public-video-frame{background:#000;border-radius:10px;width:calc(100% - 2rem);margin:1rem 1rem .75rem;overflow:hidden}.public-video-frame video,.public-video-frame iframe{aspect-ratio:16/9;border:0;width:100%;height:auto;display:block}.public-review-fallback,.public-download-box,.public-review-note,.public-comment-form,.public-comment-history{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;margin:0 1rem .75rem;padding:.75rem}.public-review-fallback{text-align:center;padding:1rem}.public-review-fallback p{color:var(--gray-500);margin-bottom:.65rem;font-size:.85rem}.public-review-fallback .video-link{background:var(--brand);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;margin-bottom:.65rem;padding:.9rem 1rem;font-size:.95rem;font-weight:800;text-decoration:none;display:flex}.public-review-fallback .video-link:hover{background:var(--brand);color:#fff;text-decoration:none}.public-review-missing-video{color:var(--gray-400);margin:1rem 1rem .75rem;font-size:.85rem}.public-download-box{justify-content:space-between;align-items:center;gap:14px;display:flex}.public-download-box div{gap:4px;display:grid}.public-download-box span,.public-comment-history span{color:var(--gray-500);font-size:.85rem;font-weight:700}.public-review-note{color:var(--gray-500);text-align:center;font-size:.85rem;font-weight:800}.public-review-note.warning{color:var(--warning);background:#fff7ed;border-color:#fed7aa}.public-review-note.danger{color:var(--danger);background:#fee2e2;border-color:#fecaca}.public-comment-history{background:var(--gray-50);border:0;border-top:1px solid var(--gray-100);border-radius:0;margin:0;padding:.65rem 1rem}.public-review-action-panel{gap:.7rem;margin:0 1rem .75rem;display:grid}.public-review-question{color:var(--gray-900);text-align:center;font-size:.95rem;font-weight:900}.public-comment-history summary{cursor:pointer;color:var(--gray-500);font-size:.82rem;font-weight:700}.comment-history-list{margin-top:.55rem}.comment-bubble{background:var(--gray-50);border-radius:8px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.85rem}.comment-bubble.resolved{opacity:.5;text-decoration:line-through}.comments-area{background:var(--gray-50);border-top:1px solid var(--gray-100);padding:.65rem 1rem}.comment-meta{color:var(--gray-400);margin-top:.15rem;font-size:.72rem}.public-comment-form{gap:.6rem;display:grid}.public-comment-row{grid-template-columns:120px minmax(0,1fr) auto;align-items:start;gap:.5rem;display:grid}.public-comment-row textarea{resize:vertical;min-height:86px}.public-review-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.55rem;display:grid}.public-review-actions .btn{width:100%}.public-review-actions.single{grid-template-columns:minmax(0,1fr)}.public-review-actions .btn:last-child:nth-child(3){grid-column:1/-1}.public-review-nav{border-top:1px solid var(--gray-100);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.85rem 1rem 1rem;display:grid}.public-review-position{color:var(--gray-500);text-align:center;font-size:.82rem;font-weight:800}.guide-layout{gap:16px;display:grid}.guide-hero,.guide-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px}.guide-hero{padding:20px}.guide-hero h1,.guide-hero h2{font-size:clamp(1.4rem,2.8vw,2rem)}.guide-hero p,.guide-card p,.guide-card li,.guide-step p{color:var(--muted);font-weight:750;line-height:1.75}.guide-meta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.guide-pill{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:850;display:inline-flex}.role-guide-title{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;gap:8px;padding:14px;display:grid}.role-guide-title h2{font-size:1.25rem}.guide-card{gap:14px;padding:18px;display:grid}.guide-wrap{max-width:1060px;margin:0 auto}.guide-wrap :where(h1,h2,h3,p,ul,ol){margin:0;padding:0}.legacy-editor-guide{color:#1a1a1a;background:#fff;max-width:780px;min-height:100vh;margin:0 auto;padding:40px;font-size:13px;line-height:1.7}.legacy-editor-guide *{margin:0;padding:0}.legacy-editor-guide .cover{text-align:center;padding:80px 0 60px}.legacy-editor-guide .cover-brand{color:#1a56db;letter-spacing:.1em;font-size:2.5rem;font-weight:800}.legacy-editor-guide .cover-title{margin-top:1.5rem;font-size:1.6rem;font-weight:700}.legacy-editor-guide .cover-sub{color:#6b7280;margin-top:.5rem;font-size:.95rem}.legacy-editor-guide .cover-date{color:#9ca3af;margin-top:2rem;font-size:.85rem}.legacy-editor-guide h1{color:#1a56db;border-bottom:2px solid #1a56db;margin:2rem 0 .75rem;padding-bottom:.4rem;font-size:1.3rem}.legacy-editor-guide h3{color:#374151;margin:1rem 0 .3rem;font-size:.95rem;font-weight:600}.legacy-editor-guide p{margin:.4rem 0}.legacy-editor-guide strong{color:#1a56db}.legacy-editor-guide .step-list{counter-reset:step;padding:0;list-style:none}.legacy-editor-guide .step-list>li{counter-increment:step;margin:.6rem 0;padding-left:2rem;position:relative}.legacy-editor-guide .step-list>li:before{color:#fff;content:counter(step);background:#1a56db;border-radius:50%;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:.1rem;left:0}.legacy-editor-guide table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.85rem}.legacy-editor-guide th{color:#6b7280;text-align:left;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:.45rem .7rem;font-size:.75rem;font-weight:600}.legacy-editor-guide td{border-bottom:1px solid #f3f4f6;padding:.45rem .7rem}.legacy-editor-guide .sidebar-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:.25rem;max-width:220px;margin:.75rem 0;padding:.75rem 1rem;display:flex}.legacy-editor-guide .sidebar-item{border-radius:6px;padding:.25rem .5rem;font-size:.82rem}.legacy-editor-guide .sidebar-item.active{color:#1a56db;background:#e8f0fe;font-weight:600}.legacy-editor-guide .sidebar-item.dim{color:#9ca3af}.legacy-editor-guide .flow-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin:.75rem 0;padding:1rem 1.25rem}.legacy-editor-guide .card-preview{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin:.5rem 0;padding:.7rem 1rem;font-size:.85rem}.legacy-editor-guide .card-preview .label{color:#9ca3af;text-transform:uppercase;margin-bottom:.15rem;font-size:.7rem;font-weight:600}.legacy-editor-guide .badge{border-radius:12px;padding:.1rem .45rem;font-size:.7rem;font-weight:700;display:inline-block}.legacy-editor-guide .badge-green{color:#065f46;background:#d1fae5}.legacy-editor-guide .badge-red{color:#991b1b;background:#fee2e2}.legacy-editor-guide .badge-blue{color:#1d4ed8;background:#dbeafe}.legacy-editor-guide .flow-arrow{color:#9ca3af;text-align:center;margin:.3rem 0;font-size:.85rem}.legacy-editor-guide .tip{background:#eff6ff;border-left:3px solid #1a56db;border-radius:0 8px 8px 0;margin:.75rem 0;padding:.6rem .85rem;font-size:.85rem}.legacy-editor-guide .summary-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin:1rem 0;padding:1rem 1.25rem}.legacy-editor-guide .summary-box h3{color:#065f46;margin-top:0}@media (max-width:700px){.legacy-editor-guide{padding:20px}.legacy-editor-guide table{display:block;overflow-x:auto}}.guide-wrap .guide-hero,.guide-wrap .guide-section,.guide-wrap .role-guide{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:1.25rem 1.4rem}
.guide-wrap .guide-hero{padding:1.4rem 1.6rem}.guide-wrap .guide-hero h1{margin-bottom:.35rem;font-size:1.45rem;font-weight:800}.guide-wrap .guide-hero p{font-size:.92rem;font-weight:400;line-height:1.8}.guide-wrap .guide-pill{color:var(--muted);padding:.25rem .65rem;font-size:.78rem;font-weight:700}.guide-wrap .role-guide{padding:1rem}.role-guide-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.role-guide-head h2{color:var(--text);font-size:1.08rem;font-weight:800;line-height:1.35}.role-guide-head p,.role-guide p{color:var(--muted);font-size:.86rem;font-weight:400;line-height:1.7}.role-content{margin-top:0}.role-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;margin-bottom:.75rem;padding:.85rem .95rem}.role-card h3{color:var(--gray-700);margin-bottom:.35rem;font-size:.92rem;font-weight:800}.role-card p,.role-card li{color:var(--gray-600);font-size:.82rem;line-height:1.7}.role-card ul,.role-card ol{margin:.25rem 0 0 1.15rem}.role-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.role-step{border:1px solid var(--gray-200);background:#fff;border-radius:8px;padding:.75rem}.role-step b{color:var(--brand);margin-bottom:.2rem;font-size:.82rem;display:block}.role-step span{color:var(--gray-500);font-size:.78rem;line-height:1.6;display:block}.guide-card h3{font-size:1rem}.guide-grid,.guide-step-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.guide-timeline-grid{grid-template-columns:220px minmax(0,1fr);align-items:start}.guide-toc{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;gap:8px;padding:16px;display:grid;position:sticky;top:84px}.guide-toc strong{font-size:.95rem}.guide-toc a{color:var(--muted);font-size:.86rem;font-weight:800;text-decoration:none}.guide-toc a:hover{color:var(--primary)}.guide-timeline-content{gap:16px;min-width:0;display:grid}.production-timeline-guide{max-width:1040px}.production-timeline-guide .guide-hero{padding:1.25rem 1.4rem}.production-timeline-guide .guide-timeline-content{gap:0}.production-timeline-guide .guide-toc{border-color:var(--gray-200);box-shadow:none;gap:0;padding:.9rem;top:1rem}.production-timeline-guide .guide-toc strong{color:var(--gray-600);margin-bottom:.5rem;font-size:.82rem}.production-timeline-guide .guide-toc a{color:var(--gray-500);border-radius:7px;padding:.38rem .45rem;font-size:.82rem;font-weight:400}.production-timeline-guide .guide-toc a:hover{background:var(--gray-50);color:var(--brand)}.production-timeline-guide .guide-section h2{color:var(--gray-800);margin-bottom:.7rem;font-size:1.08rem}.production-timeline-guide .guide-section h3{color:var(--gray-700);margin:1rem 0 .35rem;font-size:.95rem}.guide-section h2{font-size:1.25rem}.guide-section p,.guide-section li{color:var(--muted);font-size:.9rem;line-height:1.8}.guide-section h3{font-size:1rem}.event-table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.86rem}.event-table th{background:var(--surface-muted);border-bottom:1px solid var(--border);color:var(--muted);text-align:left;padding:9px 10px;font-size:.76rem}.event-table td{border-bottom:1px solid var(--border);color:var(--muted);vertical-align:top;padding:10px;line-height:1.65}.event-table code{color:var(--text);font-size:.78rem}.callout{border-left:4px solid var(--primary);background:#eff6ff;border-radius:0 10px 10px 0;margin:13px 0;padding:12px 14px}.callout p{margin:0}.flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0;display:grid}.flow-step{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;min-height:92px;padding:12px}.flow-step b{color:var(--primary);margin-bottom:4px;font-size:.82rem;display:block}.flow-step span{color:var(--muted);font-size:.78rem;line-height:1.6;display:block}.guide-pill-list{flex-wrap:wrap;gap:8px;display:flex}.guide-pill-list span{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.guide-card ol,.guide-card ul{gap:8px;margin-left:20px;display:grid}.guide-step{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;gap:6px;padding:.75rem;display:grid}.guide-step span{color:var(--primary);font-size:.82rem;font-weight:900}.filter-menu{position:relative}.filter-menu summary{align-items:center;gap:.35rem;list-style:none;display:inline-flex}.filter-menu summary::-webkit-details-marker{display:none}.filter-menu-count{background:var(--primary);color:#fff;text-align:center;border-radius:999px;min-width:18px;padding:0 .35rem;font-size:.68rem;font-weight:800;line-height:1.5}.date-separator{color:var(--gray-400);align-self:center;font-size:.82rem}.filter-menu-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:30;border-radius:8px;gap:8px;min-width:220px;padding:12px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.button.active,.btn.active{border-color:var(--primary);color:var(--primary)}.upload-task-host{z-index:80;gap:10px;max-width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:18px;right:18px}.upload-task{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);box-shadow:var(--shadow-lg);border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:8px;padding:12px;display:grid}.upload-task.done{border-left-color:var(--success)}.upload-task.error{border-left-color:var(--danger)}.upload-task span{color:var(--muted);margin:4px 0 0;font-size:.85rem;display:block}.client-review-focus{gap:14px;margin-top:12px;display:grid}.client-review-focus-card{border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.client-review-focus-card .st-badge{border-radius:20px;padding:.12rem .5rem;font-size:.72rem;font-weight:900;display:inline-block}.client-review-focus-card .st-approved{color:#065f46;background:#d1fae5}.client-review-focus-card .st-revision{color:#991b1b;background:#fee2e2}.client-review-focus-card .st-reviewing{color:#5b21b6;background:#ede9fe}.client-review-focus-card .st-editing{color:#1d4ed8;background:#dbeafe}.client-review-focus-card .st-pending{color:#6b7280;background:#f3f4f6}.client-review-focus-head{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;display:flex}.client-review-kicker{color:var(--brand);margin-bottom:.2rem;font-size:.78rem;font-weight:900}.client-review-title{color:var(--gray-900);font-size:1.15rem;font-weight:900;line-height:1.35}.client-review-meta{color:var(--gray-500);margin-top:.2rem;font-size:.8rem;font-weight:700}.client-review-deadline{color:var(--gray-500);margin-top:.35rem;font-size:.8rem;font-weight:800}.client-review-deadline.is-warning,.client-review-note.is-warning{color:#d97706}.client-review-deadline.is-danger,.client-review-note.is-danger{color:var(--danger)}.client-review-focus-body{gap:1rem;padding:1rem;display:grid}.client-video-preview{background:#111827;border-radius:8px;overflow:hidden}.client-video-preview video,.client-video-preview iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.client-video-fallback{aspect-ratio:16/9;color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:1rem;font-weight:800;display:flex}.client-review-action-panel{gap:.7rem;display:grid}.client-review-question{color:var(--gray-900);text-align:center;margin:.4rem 0 0;font-size:1rem;font-weight:900}.client-review-note{color:var(--gray-500);text-align:center;font-size:.86rem;font-weight:750}.client-review-actions{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.client-review-actions.single{grid-template-columns:1fr}.client-review-nav{border-top:1px solid var(--gray-100);justify-content:space-between;align-items:center;gap:.65rem;padding:.8rem 1rem;display:flex}.client-review-focus-card .comments-area{padding:.5rem 1rem .75rem}.client-review-focus-card .comment-bubble{border:1px solid var(--gray-200);background:#fff;margin-bottom:.4rem;padding:.45rem .7rem;font-size:.86rem}.client-review-position{color:var(--gray-500);font-size:.82rem;font-weight:800}.client-social-section .page-head{margin-bottom:1rem}.client-social-section .page-head h1{color:var(--gray-900);font-size:1.6rem;font-weight:900}.client-social-section .page-head p{color:var(--gray-500);margin-top:.25rem;font-weight:700}.panel{border:1px solid var(--gray-200);background:#fff;border-radius:12px;margin-bottom:1rem;overflow:hidden}.panel-head{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1rem;display:flex}.panel-head h2{font-size:1rem;font-weight:900}.panel-note{color:var(--gray-400);font-size:.78rem;font-weight:800}.social-panel-body{padding:1rem}.social-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1rem;display:grid}.social-video-list{gap:.55rem;display:grid}.social-video-option{border:1.5px solid var(--gray-200);cursor:pointer;text-align:left;background:#fff;border-radius:10px;padding:.75rem}.social-video-option.active{background:var(--brand-light);border-color:var(--brand)}.social-video-option strong{font-weight:900;display:block}.social-video-option .row-meta{color:var(--gray-500);margin-top:.1rem;font-size:.8rem;font-weight:700;display:block}.social-form{gap:.85rem;margin-top:1rem;display:grid}.social-field-label{margin-bottom:.45rem;display:block}.social-platforms{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.social-platforms label{border:1px solid var(--gray-200);cursor:pointer;border-radius:9px;align-items:center;gap:.4rem;padding:.55rem .65rem;font-weight:900;display:flex}.social-form textarea{border:1.5px solid var(--gray-200);resize:vertical;border-radius:10px;outline:none;width:100%;min-height:150px;padding:.75rem;font-family:inherit;font-size:.95rem}.social-form textarea:focus{border-color:var(--brand)}.social-connect-actions,.social-platform-options{flex-wrap:wrap;gap:.5rem;display:flex}.social-connect-actions{margin-top:.75rem}.social-connection-list{border-bottom:1px solid var(--gray-200);margin-top:.75rem}.social-connection-list>div{border-top:1px solid var(--gray-200);grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.6rem 0;display:grid}.social-connection-list span{color:var(--gray-500);font-size:.82rem}.social-platforms label:has(input:disabled){color:var(--gray-400);cursor:not-allowed}.social-platform-options>label:not(:first-child){align-items:center;gap:.35rem;font-size:.86rem;display:flex}.social-platform-options>label:first-child{flex-basis:100%}.social-action-row{flex-wrap:wrap;gap:.5rem;display:flex}.social-preview{position:sticky;top:88px}.social-job-history{margin-top:1rem}.preview-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden}.preview-media{aspect-ratio:9/16;color:#fff;text-align:center;background:#111827;justify-content:center;align-items:center;padding:1rem;font-weight:900;display:flex}.preview-media video,.preview-media iframe{background:#000;border:0;width:100%;height:100%;display:block}.preview-media.has-video{padding:0}.preview-media span{color:#d1d5db;font-size:.78rem}.preview-body{padding:.85rem}.preview-platform{color:var(--brand);margin-bottom:.3rem;font-size:.78rem;font-weight:900}.preview-caption{color:var(--gray-900);white-space:pre-wrap;font-weight:700}.social-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:.7rem .8rem;font-size:.86rem;font-weight:800}.social-ready{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px;padding:.7rem .8rem;font-size:.86rem;font-weight:800}.social-connect-notice{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.social-connect-notice .button{flex-shrink:0}.social-account-banner{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:grid}.social-account-banner.connected{background:#ecfdf5;border-color:#bbf7d0}.social-account-banner div{gap:4px;display:grid}.social-account-banner span{color:var(--muted);font-size:.9rem}.bar-list{gap:12px;display:grid}.bar-list-row{gap:6px;display:grid}.bar-list-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bar-list-head span{color:var(--text);min-width:0;font-weight:700}.bar-list-head strong{white-space:nowrap}.bar-track{background:var(--surface-muted);border-radius:999px;height:8px;overflow:hidden}.bar-track span{background:var(--primary);border-radius:inherit;height:100%;display:block}.analytics-chart{width:100%;min-width:0;position:relative}.analytics-chart canvas{max-width:100%}.trend-list{gap:12px;display:grid}.trend-row{grid-template-columns:minmax(84px,.35fr) minmax(140px,1fr) minmax(110px,auto) minmax(110px,auto);align-items:center;gap:10px;display:grid}.trend-row>span,.trend-row small{color:var(--muted);font-size:.82rem;font-weight:750}.trend-bars{gap:4px;display:grid}.trend-bars em{border-radius:999px;height:7px;display:block}.trend-bars .revenue{background:#10b981}.trend-bars .sent{background:#2563eb}.trend-bars .accepted{background:#f59e0b}.signal-list{gap:8px;margin-top:12px;display:grid}.signal-item{border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:10px 12px;font-size:.9rem}.signal-item.warning{color:#92400e;background:#fffbeb;border-color:#f59e0b}.password-list{gap:10px;display:grid}.password-row{border:1px solid var(--border);border-radius:8px;gap:6px;padding:10px 12px;display:grid}.password-row span{color:var(--muted);font-size:.82rem;font-weight:800}.password-row strong{overflow-wrap:anywhere}
@media print{body *{visibility:hidden}.contract-print-view,.contract-print-view *{visibility:visible}.contract-print-view{box-shadow:none;border:0;width:100%;padding:0;position:absolute;top:0;left:0}.contract-print-view.print-only{display:grid}.public-contract-page,.modal-backdrop{background:#fff;padding:0}.public-sign-bar,.modal-footer,.modal-header{display:none}}.signal-item.success{color:#047857;background:#ecfdf5;border-color:#10b981}
@media (max-width:768px){.dashboard-shell{grid-template-columns:1fr}.app-sidebar{z-index:150;width:248px;height:100vh;min-height:100vh;transition:transform .25s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.sidebar-collapse-toggle{display:none}.sidebar-overlay.open{z-index:149;background:#00000080;border:0;padding:0;display:block;position:fixed;inset:0}.mobile-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:140;background:#ffffffeb;align-items:center;gap:.75rem;min-height:60px;padding:.7rem 1rem;display:flex;position:sticky;top:0}.hamburger{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;flex:none;justify-content:center;gap:5px;width:36px;height:36px;padding:6px;display:flex}.hamburger span{background:var(--gray-700);border-radius:2px;height:2px;display:block}.mobile-brand{color:var(--gray-900);letter-spacing:.05em;flex:1;align-items:center;gap:.45rem;font-size:1rem;font-weight:800;display:flex}.mobile-brand-img{object-fit:contain;width:26px;height:26px}.app-main{padding:1rem .75rem}.social-account-banner,.social-workspace{grid-template-columns:1fr}.social-preview{position:static}.social-platforms{grid-template-columns:1fr}.section-heading-row{flex-direction:column;align-items:stretch}.social-connection-summary{grid-template-columns:1fr}.social-account-banner .button{width:100%}.app-header{display:grid}.header-action,.header-action .button{width:100%}.panel-grid,.panel-grid.two-columns{grid-template-columns:1fr}.analytics-dashboard .dashboard-head{display:block}.analytics-dashboard .dashboard-filter{justify-content:stretch;min-width:0;margin-top:.85rem}.analytics-dashboard .dashboard-filter select,.analytics-dashboard .dashboard-filter input,.analytics-dashboard .dashboard-filter .button{flex:calc(50% - .5rem);min-width:0}.analytics-dashboard .dashboard-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.analytics-dashboard .dashboard-tab{padding:.65rem .5rem}.analytics-dashboard .kpi-grid,.analytics-dashboard .charts-grid{grid-template-columns:1fr}.analytics-dashboard .chart-card.span-2{grid-column:span 1}.analytics-dashboard .variance-item{grid-template-columns:1fr}.analytics-dashboard .variance-delta{text-align:left}.analytics-dashboard .dashboard-insight-item{align-items:flex-start}.list-panel{padding:14px}.list-panel-toolbar{display:grid}.list-panel-toolbar .button{width:100%}.client-crm-layout-next{grid-template-columns:1fr}.client-crm-list-panel-next,.client-crm-info-panel-next,.client-crm-activity-panel-next{min-height:0;max-height:none;overflow:visible}.planning-tabs,.editing-tabs{z-index:2;position:sticky;top:0}.planning-tab-btn,.editing-tab-btn{padding:.45rem .65rem;font-size:.78rem}.home-greeting-card{align-items:stretch;display:grid}.home-greeting-card .button{justify-content:center;width:100%}.home-announcement-strip{align-items:flex-start;gap:4px;display:grid}.home-announcement-strip span,.home-weekend-countdown{white-space:normal}.home-announcement-marquee,.home-announcement-marquee span{white-space:nowrap}.home-work-grid,.home-kpi-grid,.home-columns,.home-columns.three-col,.report-grid{grid-template-columns:1fr}.home-work-tile,.home-kpi-card{padding:12px}.home-pending-section header{align-items:center;display:flex}.home-pending-section header a{margin-left:auto}.contract-detail-summary,.detail-grid,.detail-list article,.contract-action-panel,.quote-line-row,.contract-preview-grid,.quote-total-panel,.script-workspace-layout,.script-workspace-grid,.form-grid.two-columns,.form-grid.three-columns,.form-grid.four-columns{grid-template-columns:1fr}.script-job-list{max-height:none}.script-job-summary{grid-template-columns:1fr}.script-summary-inline{justify-content:flex-start;gap:7px 12px}.script-editor-head,.script-job-title-row{align-items:flex-start;display:grid}.script-editor-head .btn{justify-content:center;width:100%}.script-table{background:0 0;border:0;gap:9px}.script-table-head{display:none}.script-row{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:1fr auto;gap:.45rem .75rem;min-height:0;padding:.72rem .8rem}.script-row-episode{grid-area:1/1}.script-row-main{grid-area:2/1/auto/-1}.script-row>div:nth-child(3){grid-area:1/2;justify-self:end}.script-row-time{white-space:normal;grid-area:3/1}.script-row-action{grid-area:4/1/auto/-1}.script-row-action .btn{justify-content:center;width:100%}.contract-create-summary{position:static}.contract-create-page .step-indicator{grid-template-columns:repeat(4,minmax(0,1fr));max-width:100%}.contract-create-page .step-indicator .step-line{display:none}.contract-create-page .step-indicator button span{white-space:normal;font-size:.72rem}.contract-step-footer,.contract-step-footer.split{grid-template-columns:1fr;align-items:stretch;gap:10px;display:grid}.contract-step-footer .button,.contract-step-footer .button.primary{width:100%;min-width:0}.payment-choice-grid{grid-template-columns:1fr}.checkbox-inline-list{grid-template-columns:1fr 1fr;display:grid}.quote-line-row>strong{text-align:left;line-height:1.4}.contract-detail-modal .modal-footer{grid-template-columns:1fr;display:grid}.contract-detail-modal .modal-footer .button,.contract-action-panel .button,.mobile-card-actions .button{justify-content:center;width:100%}.mobile-card-actions{grid-template-columns:1fr 1fr;display:grid}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar.compact{grid-template-columns:1fr}.filter-bar .input{min-width:0}.filter-bar input.input:first-child{grid-column:1/-1}.filter-bar .button{width:100%}.finance-head{align-items:stretch;display:grid}.finance-head .button{width:100%}.finance-filters,.finance-filters.is-compact{grid-template-columns:1fr}.finance-filter-actions,.finance-filter-actions.is-single,.table-pagination,.table-pagination-actions{grid-template-columns:1fr;align-items:stretch;display:grid}.work-card-table{overflow-x:auto}.finance-page .work-card-table{overflow:visible}.finance-page .finance-table,.finance-page .finance-table thead,.finance-page .finance-table tbody,.finance-page .finance-table tr,.finance-page .finance-table td{display:block}.finance-page .finance-table{min-width:0}.finance-page .finance-table thead{display:none}.finance-page .finance-table tr{border:1px solid var(--gray-200);background:#fff;border-radius:10px;margin:.65rem;padding:.75rem}.finance-page .finance-table td{text-align:left;border:0;padding:.18rem 0}.finance-page .finance-table td:before{color:var(--gray-400);content:attr(data-label);margin-bottom:.04rem;font-size:.72rem;font-weight:800;display:block}.finance-page .finance-table .finance-empty:before{display:none}.client-script-reader-head,.client-notification-item,.client-list-row{align-items:stretch;display:grid}.client-notification-item{grid-template-columns:1fr}.client-notification-item .btn,.client-notification-item .notification-read{width:100%}.client-notification-item strong,.client-notification-item span{text-overflow:initial;white-space:normal;overflow:visible}.client-notification-item .notification-read{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;padding:.45rem .7rem}.client-script-tabs{padding-inline:14px}.client-script-modal{width:calc(100vw - 1rem);height:calc(100dvh - 1rem);max-height:none}.client-script-modal-body{padding:12px}.client-script-action-panel,.client-script-reader-head{display:grid}.client-script-actions{grid-template-columns:1fr;justify-content:stretch;display:grid}.client-script-actions .button,.client-script-actions .btn,.client-script-comment-actions .button,.client-script-comment-actions .btn,.client-script-tabs button,.client-list-row .button,.client-list-row .btn{justify-content:center;width:100%}.ov-card{grid-template-columns:1fr;align-items:flex-start}.ov-info{border-bottom:1px solid var(--gray-100);padding-bottom:.45rem}.ov-progress-cell,.ov-comment-cell,.ov-review-cell,.ov-next-cell{grid-template-columns:92px 1fr;gap:.25rem;width:100%;display:grid}.ov-cell-label{margin-bottom:0}.data-table{display:none}.mobile-card-list{gap:12px;display:grid}.finance-kpi-grid,.finance-summary-strip,.notification-summary-strip{grid-template-columns:1fr 1fr}.users-header{align-items:stretch;display:grid}.users-header .btn{justify-content:center;width:100%}.invoice-summary-grid,.invoice-record-row{grid-template-columns:1fr}.invoice-record-row .button{justify-content:center;width:100%}.settings-grid,.setting-row,.settings-info-grid,.setting-rule-grid{grid-template-columns:1fr}.operation-rule-head,.operation-rule-title-row{grid-template-columns:1fr;align-items:stretch;display:grid}.operation-rule-controls{flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex}.inline-field{white-space:nowrap;align-items:center;display:inline-flex}.setting-row>div:nth-child(2){text-align:left}.parameter-group-tabs,.parameter-layout,.parameter-detail-header,.parameter-row,.service-option-grid,.service-option-row{grid-template-columns:1fr}.parameter-row,.service-option-row{align-items:stretch}.parameter-reorder,.service-option-order,.parameter-row .row-actions{grid-template-columns:1fr 1fr;display:grid}.parameter-row .status-badge{justify-self:flex-start}.vid-header,.pc-item,.review-action-row,.review-action-controls{grid-template-columns:1fr}.vid-header{align-items:flex-start}.cmt-item{display:block}.cmt-actions{justify-items:stretch;min-width:0;margin-top:.55rem}.reason-form{display:grid}.reason-form .input,.reason-form .input:first-child,.reason-form .input:nth-child(2){width:100%}.pc-action{width:100%;display:grid}.pc-action .input,.pc-action .input:first-child,.pc-action .input:nth-child(2),.pc-action .btn{width:100%}.review-action-controls.compact{justify-content:stretch;display:grid}.review-action-controls .button{width:100%}.auth-page{padding:0}.auth-card{border-radius:0;grid-template-columns:1fr;justify-content:center;min-height:100vh}.auth-brand,.auth-form{padding:0}.client-portal{padding:0;display:block}.client-portal-header{align-items:flex-start;padding:.8rem 1rem;display:flex}.client-portal-header .button,.client-portal-header .btn{width:auto}.client-role-hint,.topbar-user{display:none}.client-portal-shell{padding:1rem .8rem 2rem;display:block}.client-portal-nav{gap:.35rem;margin:0 0 1rem;padding:.45rem;display:flex;position:static;overflow-x:auto}.client-portal-nav a{white-space:nowrap;flex:none;margin:0;padding:.55rem .7rem;font-size:.86rem}.client-page-head h1{font-size:1.35rem}.client-summary-grid,.client-two-column,.client-single-column{grid-template-columns:1fr}.client-list-row{align-items:flex-start}.client-section-head{align-items:flex-start;display:grid}.client-project-stats{grid-template-columns:1fr}.client-contract-head,.contract-title-row{display:grid}.contract-title-row{display:block}.client-info-lines div{grid-template-columns:1fr}.client-contract-head .row-actions,.contract-actions{justify-content:stretch}.contract-actions{justify-content:flex-start;margin-top:.65rem}.contract-file-empty{text-align:left}.client-contract-head .button,.client-contract-head .btn,.contract-actions .button,.contract-actions .btn{justify-content:center;width:100%}.client-contract-items-head{display:none}.client-contract-item,.client-contract-total,.contract-total{grid-template-columns:1fr}.contract-items,.contract-items tbody,.contract-items tr,.contract-items td{display:revert}.contract-items thead{display:table-header-group}.contract-items tr+tr{border-top:1px solid var(--border)}.contract-items td{text-align:left;border-top:0}.contract-items .num{text-align:right}.contract-items th:nth-child(3),.contract-items td:nth-child(3),.public-line-item.head{display:none}.public-line-item{grid-template-columns:1fr;align-items:start}.public-line-item b,.public-line-item>span:last-of-type{text-align:left}.public-sign-bar{align-items:stretch;display:grid}.public-sign-bar .button{width:100%}.public-review-header,.public-review-card-head{display:grid}.public-review-summary{grid-template-columns:1fr;display:grid}.public-review-meta-strip{grid-template-columns:1fr}.public-review-topbar{padding-left:1rem;padding-right:1rem}.public-completed-item{align-items:stretch;display:grid}.public-completed-item .button,.public-completed-item .btn{width:100%}.public-comment-row{grid-template-columns:1fr}.public-review-actions{display:grid}.public-review-actions .button,.public-review-actions .btn,.public-download-box .button,.public-download-box .btn{width:100%}.public-download-box{align-items:stretch;display:grid}.guide-grid,.guide-step-grid,.role-action-grid,.flow{grid-template-columns:1fr}.event-table{display:block;overflow-x:auto}.guide-timeline-grid{grid-template-columns:1fr}.guide-toc{position:static}.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-radius:16px 16px 0 0;width:100%;max-height:92vh}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.form-grid.two-columns,.form-grid.three-columns{grid-template-columns:1fr}.modal-footer .button{flex:1}}
@media (max-width:560px){.finance-kpi-grid,.ar-payment-summary-strip{grid-template-columns:1fr}.public-review-shell{padding:1rem .75rem 1.5rem}.public-review-header{margin-left:-.75rem;margin-right:-.75rem;padding:.8rem 1rem}.public-review-summary,.public-review-actions,.client-review-actions,.client-review-nav{grid-template-columns:1fr}.client-review-nav{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.client-review-position{order:-1;grid-column:1/-1}.public-review-card-head{padding:.8rem .85rem .65rem}.public-video-frame{width:calc(100% - 1.7rem);margin:.85rem .85rem .75rem}.public-review-fallback,.public-download-box,.public-review-note,.public-comment-form,.public-comment-history{margin-left:.85rem;margin-right:.85rem}}@media (max-width:760px){.dashboard-shell{grid-template-rows:auto auto;align-content:start}.mobile-header{height:60px;min-height:60px}.mobile-brand-img{display:none}.editing-work-page .data-table,.planning-work-page .data-table,.production-work-page .data-table,.planning-table .mobile-assignee,.editing-table .editing-mobile-editor{display:block}.planning-table .mobile-plan-summary{display:grid}.editing-table .editing-owner-cell>strong{display:none!important}.production-work-page .filter-bar>input[aria-label=專案開始日起]{grid-column:1}.production-work-page .filter-bar>.date-separator{grid-column:2;justify-self:center}.production-work-page .filter-bar>input[aria-label=專案開始日迄],.production-work-page .filter-bar>button:last-child{grid-column:3}.production-table tbody{padding-bottom:0}.production-table tr:first-child{margin-top:.75rem}.work-page-header,.finance-head{display:block}.work-filter-grid,.work-filter-grid.is-wide,.finance-filters,.finance-filters.is-compact{grid-template-columns:1fr 1fr}.work-filter-grid>:first-child,.finance-filters>:first-child{grid-column:1/-1}.work-filter-actions,.finance-filter-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.editing-work-page .filter-bar,.planning-work-page .filter-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.editing-work-page .filter-search,.planning-work-page .filter-search{flex:initial;grid-column:1/-1;width:100%;min-width:0}.editing-work-page .filter-bar select{flex:initial;width:100%;min-width:0}.production-work-page .filter-bar{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.production-work-page .filter-bar input.filter-search,.production-work-page .filter-bar>select{flex:initial;grid-column:1/-1;width:100%;min-width:0}.editing-work-page .data-table,.planning-work-page .data-table,.production-work-page .data-table{display:block}}@media (max-width:480px){.finance-receivables-page-next .history-table .col-hide-xs{display:none}.clients-page-next{height:auto;padding:0;display:flex;overflow:visible}.clients-page-next .list-panel-toolbar{align-items:center;display:flex}.clients-page-next .list-panel-toolbar .btn{width:auto}.clients-page-next .client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-page-next .client-crm-layout-next{flex:none;grid-template-columns:1fr;display:grid;overflow:visible}.clients-page-next .client-crm-list-panel-next{max-height:40vh;overflow:auto}}@media (max-width:760px){.workload-overview-table{padding:0;overflow-x:auto}.workload-overview-table .data-table{min-width:640px;display:table}}@media (max-width:980px){.finance-receivables-page-next .filter-bar.compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.finance-receivables-page-next .filter-bar.compact>:first-child,.finance-receivables-page-next .filter-bar.compact .work-filter-actions{grid-column:1/-1}}@media (max-width:560px){.finance-receivables-page-next .filter-bar.compact{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.operations-page,.operations-page>*,.operations-page .service-option-panel,.operations-page .operations-row{min-width:0;max-width:100%}.operations-page .service-option-head{flex-direction:column}.operations-page .service-option-add{width:100%}.operations-page .service-option-add input{flex:1;width:auto}.operations-page .service-option-row{flex-wrap:wrap;align-items:flex-start;display:flex}.operations-page .operations-row,.operations-page .operations-row.compact{grid-template-columns:minmax(0,1fr);align-items:stretch}.operations-page .operations-row .row-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}
.app-dialog-card{max-width:480px}.app-dialog-message,.modal-description{white-space:pre-line;margin:0}.toast-region{z-index:2000;pointer-events:none;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:20px;right:20px}.app-toast{border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow-lg);pointer-events:auto;background:#fff;border-left-width:4px;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.app-toast-success{border-left-color:#15803d}.app-toast-error{border-left-color:#b91c1c}.app-toast-info{border-left-color:#2563eb}.app-toast button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:18px;line-height:1}
.legal-page{color:var(--text);background:#f6f8fb;min-height:100vh}.legal-topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;min-height:68px;padding:10px max(20px,50vw - 460px);display:flex}.legal-brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.legal-brand img{object-fit:contain;width:42px;height:42px}.legal-brand span{display:grid}.legal-brand strong{color:var(--brand);letter-spacing:0;font-size:1rem}.legal-brand small{color:var(--muted);font-size:.72rem}.legal-topbar nav{gap:18px;display:flex}.legal-topbar nav a,.legal-footer a,.legal-sections a{color:var(--brand-dark);font-weight:700;text-decoration:none}.legal-topbar nav a:hover,.legal-footer a:hover,.legal-sections a:hover{text-decoration:underline}.legal-document{max-width:820px;margin:0 auto;padding:56px 24px 72px}.legal-title{border-bottom:1px solid var(--border);padding-bottom:30px}.legal-title>span{color:var(--brand-dark);margin-bottom:10px;font-size:.82rem;font-weight:800;display:block}.legal-title h1{margin:0;font-size:2.25rem;line-height:1.25}.legal-title p{color:var(--gray-600);margin:14px 0;font-size:1rem;line-height:1.8}.legal-title time{color:var(--gray-500);font-size:.82rem}.legal-sections section{border-bottom:1px solid var(--border);padding:28px 0}.legal-sections h2{margin:0 0 12px;font-size:1.1rem}.legal-sections p,.legal-sections li,.legal-footer p{color:var(--gray-700);line-height:1.85}.legal-sections p,.legal-sections ul{margin:0}.legal-sections ul{padding-left:1.35rem}.legal-sections li+li{margin-top:6px}.legal-footer{padding-top:28px}.legal-footer p{margin:0 0 12px}.auth-legal-links{color:var(--gray-400);flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-top:1.25rem;font-size:.75rem;display:flex}.auth-legal-links a{color:var(--gray-500);text-decoration:none}.auth-legal-links a:hover{color:var(--brand-dark);text-decoration:underline}@media (max-width:640px){.legal-topbar{flex-direction:column;align-items:flex-start;gap:10px;padding:10px 16px}.legal-topbar nav{white-space:nowrap;gap:14px;width:100%;padding-bottom:4px;overflow-x:auto}.legal-document{padding:36px 18px 56px}.legal-title h1{font-size:1.75rem}}
