:root{color:#20242c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f2f3f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{background:#f2f3f5;min-width:1180px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}:root{--orange:#f06418;--ink:#20242c;--muted:#6f7784;--line:#dfe2e7}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:88px;padding:0 26px;display:flex}.brand-block,.header-actions,.summary-bar,.summary-bar>div,.summary-metrics,.column-header>div,.card-top,.card-meta,.team-line,.progress-label,.project-card footer,.drawer-header,.project-facts,.panel-title,.modal-actions{align-items:center;display:flex}.brand-logo{width:116px;height:auto;display:block}.brand-divider{background:#d9dce1;width:1px;height:38px;margin:0 20px}.eyebrow{color:#8a9099;letter-spacing:.14em;text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:800}.topbar h1{letter-spacing:-.02em;margin:0;font-size:21px;line-height:1}.header-actions{gap:12px}.search{color:#9298a1;background:#f6f7f8;border:1px solid #e1e4e8;border-radius:8px;align-items:center;gap:9px;width:275px;height:40px;padding:0 12px;display:flex}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.client-filter{color:#343a43;cursor:pointer;background:#fff;border:1px solid #d9dde2;border-radius:8px;outline:0;min-width:145px;height:40px;padding:0 30px 0 11px;font-size:11px;font-weight:750}.client-filter:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f064181a}.primary-button{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:11px 16px;font-size:13px;font-weight:750;box-shadow:0 5px 15px #f0641833}.team-management-button{color:#343a43;cursor:pointer;background:#fff;border:1px solid #d4d8dd;border-radius:8px;height:40px;padding:0 13px;font-size:11px;font-weight:800}.team-management-button:hover{border-color:var(--orange);color:#c54c0f;background:#fff8f3}.summary-bar{border-bottom:1px solid var(--line);background:#fafafa;justify-content:space-between;height:58px;padding:0 26px;font-size:12px}.summary-bar>div{gap:9px}.summary-bar small{color:#9399a2;border-left:1px solid #dddfe3;padding-left:9px}.live-dot{background:#22a65a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #ddf4e6}.live-dot.syncing{animation:.8s ease-in-out infinite alternate syncPulse}@keyframes syncPulse{to{opacity:.35;transform:scale(.75)}}.summary-metrics{color:#747b86;gap:28px!important}.summary-metrics b{color:var(--ink);margin-right:4px}.board{grid-template-columns:repeat(7,minmax(216px,1fr));gap:12px;height:calc(100vh - 146px);padding:18px 18px 24px;display:grid;overflow-x:auto}.column{background:#e9ebee;border:1px solid #e0e2e5;border-radius:10px;flex-direction:column;min-width:216px;display:flex;overflow:hidden}.column-header{border-top:3px solid var(--stage-color);border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:56px;padding:0 12px;display:flex}.column-header>div{gap:9px;min-width:0}.stage-index{color:var(--stage-color);letter-spacing:.08em;font-size:9px;font-weight:900}.column-header h2{white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.025em;margin:0;font-size:12px;overflow:hidden}.count{color:#747b84;background:#eff0f2;border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:10px;font-weight:800;display:grid}.column-body{flex-direction:column;gap:9px;padding:9px;display:flex;overflow-y:auto}.project-card{text-align:left;border:1px solid #dfe1e5;border-left:5px solid var(--project-color,#64748b);cursor:grab;background:#fff;border-radius:8px;width:100%;padding:12px;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 1px 2px #151a220d}.project-card:hover{border-color:#c9cdd3;transform:translateY(-1px);box-shadow:0 7px 18px #1f25301a}.project-card:active{cursor:grabbing}.card-top{justify-content:space-between;gap:8px}.card-classification{align-items:center;gap:5px;min-width:0;display:inline-flex}.category{color:#343a44;letter-spacing:.06em;background:#f0f1f3;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:900;line-height:1;display:inline-flex}.contract-type{color:#252b34;letter-spacing:.05em;background:#fff;border:1px solid #d4d8de;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:900;line-height:1;display:inline-flex}.ref{color:#8a919a;font-size:9px;font-weight:700}.project-card h3{letter-spacing:-.01em;margin:10px 0 2px;font-size:14px}.address{color:#707783;min-height:28px;margin:0 0 10px;font-size:11px;line-height:1.3}.card-meta{color:#555d69;border-top:1px solid #eff0f2;border-bottom:1px solid #eff0f2;justify-content:space-between;padding:7px 0;font-size:9px;font-weight:800}.team-line{color:#535a66;gap:7px;margin:9px 0;font-size:10px;font-weight:650}.team-avatar{color:#fff;background:#292e37;border-radius:5px;place-items:center;width:19px;height:19px;font-size:9px;font-weight:900;display:grid}.progress-label{color:#858c96;justify-content:space-between;font-size:9px}.progress-label strong{color:#4f5661}.progress{background:#eceef1;border-radius:9px;height:4px;margin:5px 0 10px;overflow:hidden}.progress span{border-radius:9px;height:100%;display:block}.project-card footer{color:#8b929c;justify-content:space-between;gap:5px;font-size:8px}.planning-status-line{flex-wrap:wrap;gap:5px;margin:7px 0 2px;display:flex}.planning-status-line span{letter-spacing:.02em;text-transform:uppercase;border-radius:5px;padding:3px 6px;font-size:8px;font-weight:900}.site-ready-status{color:#13733e;background:#e9f8ef;border:1px solid #a8dbbc}.resolution-status{color:#9a4a09;background:#fff5e6;border:1px solid #f1c27e}.resolution-resolu{color:#13733e;background:#e9f8ef;border-color:#a8dbbc}.resolution-reporte{color:#59616c;background:#f1f3f5;border-color:#c9cdd3}.resolution-en_cours{color:#185fae;background:#eaf3ff;border-color:#9fc2f4}.empty-state{color:#9aa0a8;border:1px dashed #c9cdd3;border-radius:8px;place-items:center;min-height:90px;font-size:11px;display:grid}.drawer-backdrop,.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14181f61;position:fixed;inset:0}.drawer{background:#f6f7f8;width:min(720px,76vw);height:100%;margin-left:auto;animation:.22s ease-out slide;overflow-y:auto;box-shadow:-18px 0 50px #14181f2e}@keyframes slide{0%{opacity:.7;transform:translate(35px)}}.drawer-header{color:#fff;background:#20242c;justify-content:space-between;min-height:110px;padding:24px 28px}.drawer-header p{color:#aeb4bd;margin:0 0 0 8px;font-size:11px;display:inline}.drawer-header h2{margin:10px 0 0;font-size:21px}.drawer-actions{align-items:center;gap:8px;display:flex}.delete-project,.view-project{color:#f2b2ad;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:7px;padding:8px 11px;font-size:10px;font-weight:750}.view-project{color:#fff}.view-project:hover{background:#ffffff14;border-color:#ffffff8c}.edit-project{background:var(--orange);color:#fff;cursor:pointer;border:1px solid #f06418bf;border-radius:7px;padding:8px 11px;font-size:10px;font-weight:800}.close{width:34px;height:34px;color:inherit;cursor:pointer;background:#ffffff1a;border:0;border-radius:7px;font-size:24px}.project-facts{border-bottom:1px solid var(--line);background:#fff;gap:36px;padding:16px 28px}.project-facts span{flex-direction:column;gap:3px;font-size:12px;font-weight:750;display:flex}.project-facts small{color:#9298a0;text-transform:uppercase;font-size:9px;font-weight:700}.fact-team-button{min-width:210px;color:var(--ink);cursor:pointer;text-align:left;background:#fff6f0;border:1px solid #f4c5aa;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:8px 11px;display:flex}.fact-team-button:hover{border-color:var(--orange);background:#ffede2}.fact-team-button span{min-width:0}.fact-team-button b{color:var(--orange);white-space:nowrap;text-transform:uppercase;font-size:9px}.stage-tabs{grid-template-columns:repeat(7,1fr);padding:20px 28px 0;display:grid}.stage-tabs button{color:#737a84;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #dfe2e6;flex-direction:column;align-items:center;gap:7px;padding:0 5px 14px;font-size:9px;font-weight:750;display:flex;position:relative}.stage-tabs button:disabled{color:#b9bdc3;cursor:not-allowed}.stage-tabs button.active{color:var(--orange);border-bottom-color:var(--orange)}.stage-tabs button span{background:#e6e8eb;border-radius:50%;place-items:center;width:24px;height:24px;font-size:9px;display:grid}.stage-tabs button.active span{background:var(--orange);color:#fff}.steps-panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin:22px 28px;padding:22px;box-shadow:0 4px 18px #1f25300d}.panel-title{justify-content:space-between;margin-bottom:16px}.panel-title h3{margin:0;font-size:18px}.panel-title>span{color:#c54c0f;background:#fff0e8;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:850}.panel-title-actions{align-items:center;gap:8px;display:flex}.panel-title-actions>span{color:#c54c0f;background:#fff0e8;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:850}.panel-title-actions button{cursor:pointer;background:#fff;border:1px solid #d9dde2;border-radius:6px;padding:7px 9px;font-size:9px;font-weight:800}.checklist{flex-direction:column;display:flex}.checklist label{color:#373d46;cursor:pointer;border-top:1px solid #eceef0;align-items:center;gap:11px;min-height:49px;font-size:12px;display:flex}.checklist label.done{color:#858b94}.checklist input{opacity:0;pointer-events:none;position:absolute}.fake-check{color:#fff;background:#fff;border:1px solid #cfd3d8;border-radius:5px;place-items:center;width:21px;height:21px;font-size:12px;font-weight:900;display:grid}.done .fake-check{background:#1f9d58;border-color:#1f9d58}.checklist label>span:nth-child(3){flex:1}.checklist label>span:nth-child(3) small{color:var(--orange);font-size:9px;font-weight:750}.checklist label>button{color:#a0a5ad;background:0 0;border:0;font-size:20px}.checklist label.document-step .fake-check{color:#d75310;letter-spacing:.04em;background:#fff3eb;border-color:#f2b48f;width:34px;font-size:7px}.checklist label.document-step.done .fake-check{color:#fff;background:#1f9d58;border-color:#1f9d58}.advance-button{color:#fff;cursor:pointer;background:#292e37;border:0;border-radius:7px;justify-content:center;gap:10px;width:100%;margin-top:18px;padding:13px;font-size:12px;font-weight:800;display:flex}.stop-report{background:#fff8f8;border:1px solid #efcaca;border-radius:8px;margin-top:18px;padding:14px}.stop-report label{color:#4b515b;flex-direction:column;gap:7px;font-size:10px;font-weight:800;display:flex}.stop-report textarea{resize:vertical;min-height:96px;font:inherit;border:1px solid #d9dde2;border-radius:7px;padding:10px;font-size:12px}.stop-report button{cursor:pointer;background:#fff;border:1px solid #d9dde2;border-radius:7px;width:100%;margin-top:8px;padding:11px;font-size:10px;font-weight:800}.modal-backdrop{z-index:50;place-items:center;display:grid}.gate-modal{text-align:center;background:#fff;border-radius:13px;width:430px;padding:30px;position:relative;box-shadow:0 24px 70px #0f13194d}.gate-modal .close{color:#747b84;background:#f0f1f3;position:absolute;top:13px;right:13px}.gate-icon{width:48px;height:48px;color:var(--orange);background:#fff0e8;border-radius:50%;place-items:center;margin:0 auto 15px;font-size:22px;font-weight:900;display:grid}.gate-icon.billing{color:#168349;background:#e6f5ec}.gate-icon.danger{color:#c92d25;background:#feeceb}.gate-modal h2{margin:5px 0 9px;font-size:21px}.gate-modal>p:not(.eyebrow){color:#737a84;margin:0;font-size:12px;line-height:1.55}.prerequisites{text-align:left;border:1px solid #e3e5e8;border-radius:8px;margin:20px 0;padding:0;list-style:none}.prerequisites li{border-bottom:1px solid #eceef0;padding:10px 13px;font-size:11px;font-weight:700}.prerequisites li:last-child{border:0}.prerequisites span{color:#168349;margin-right:8px}.prerequisites li.missing{color:#a82b24;background:#fff7f6}.prerequisites li.missing span{color:#c92d25}.billing-modal{width:min(610px,92vw);max-height:92vh;overflow-y:auto}.compact-prerequisites{margin:15px 0}.billing-form{text-align:left;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0 20px;display:grid}.billing-form label{flex-direction:column;gap:6px;display:flex}.billing-form label.wide{grid-column:1/-1}.billing-form label span{color:#626974;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:800}.billing-form input{width:100%;height:38px;color:var(--ink);background:#f8f9fa;border:1px solid #d8dce1;border-radius:7px;outline:0;padding:0 10px;font-size:11px}.billing-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f064181a}.forced-billing-note{text-align:left;background:#fff4dd;border-radius:7px;padding:10px 12px;color:#8a5a00!important;margin:0 0 16px!important;font-size:10px!important}.force-field{text-align:left;margin-top:18px;display:block}.force-field span{color:#555c66;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:850;display:block}.force-field textarea{resize:vertical;color:#323841;background:#f8f9fa;border:1px solid #d7dbe0;border-radius:7px;outline:0;width:100%;min-height:74px;padding:10px;font:11px/1.45 inherit}.force-field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f064181a}.modal-actions{justify-content:flex-end;gap:9px;margin-top:22px}.modal-actions button{cursor:pointer;background:#fff;border:1px solid #d9dce0;border-radius:7px;padding:10px 13px;font-size:11px;font-weight:750}.modal-actions .primary-button{border-color:var(--orange);background:var(--orange)}.modal-actions .primary-button:disabled{color:#9ca1a9;box-shadow:none;cursor:not-allowed;background:#e6e8eb;border-color:#d9dce0}.modal-actions .force-button{color:#fff;background:#242932;border-color:#242932}.modal-actions .force-button:disabled{color:#9ca1a9;cursor:not-allowed;background:#e6e8eb;border-color:#d9dce0}.delete-summary{text-align:left;background:#f5f6f7;border-radius:7px;flex-direction:column;gap:3px;margin-top:18px;padding:12px;font-size:11px;display:flex}.delete-summary span{color:#7d848e}.modal-actions .confirm-delete{color:#fff;background:#c92d25;border-color:#c92d25}.notice{z-index:80;color:#fff;text-align:left;cursor:pointer;background:#282d35;border:0;border-radius:8px;align-items:center;gap:16px;max-width:390px;padding:12px 14px;font-size:11px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 35px #14181f3d}.notice span{color:#aeb4bc;margin-left:auto;font-size:17px}.create-modal{background:#fff;border-radius:12px;width:560px;padding:24px;box-shadow:0 24px 70px #0f13194d}.create-modal header,.create-modal footer{justify-content:space-between;align-items:center;display:flex}.create-modal header h2{margin:0;font-size:21px}.optional-hint{color:#858c96;margin:6px 0 0;font-size:10px}.create-modal header .close{color:#747b84;background:#f0f1f3}.form-grid{grid-template-columns:repeat(2,1fr);gap:13px;margin:22px 0;display:grid}.form-grid label{flex-direction:column;gap:6px;display:flex}.form-grid label.wide{grid-column:1/-1}.form-grid label span{color:#626974;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{width:100%;height:38px;color:var(--ink);font:inherit;background:#f8f9fa;border:1px solid #d8dce1;border-radius:7px;outline:0;padding:0 10px;font-size:11px}.form-grid textarea{resize:vertical;min-height:74px;padding-block:9px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f064181a}.project-color-field{grid-template-columns:minmax(0,1fr) 46px;gap:7px;display:grid}.project-color-field input[type=color]{cursor:pointer;padding:3px}.create-modal footer{justify-content:flex-end;gap:9px}.create-modal footer button{cursor:pointer;background:#fff;border:1px solid #d9dce0;border-radius:7px;padding:10px 14px;font-size:11px;font-weight:750}.create-modal footer .primary-button{border-color:var(--orange);background:var(--orange);color:#fff}.planning-assignment-modal{width:520px}.assignment-project{color:#747b85;margin:6px 0 0;font-size:11px}.assignment-note{border-left:3px solid var(--orange);color:#6c737d;background:#fff3eb;align-items:center;gap:12px;margin:-7px 0 20px;padding:12px 14px;font-size:10px;display:flex}.assignment-note strong{color:#c54c0f;white-space:nowrap}.assignment-conflicts{background:#fff5f4;border:1px solid #f3b2ae;border-radius:8px;margin:-7px 0 18px;padding:13px}.assignment-conflicts>header{color:#b42318;justify-content:space-between;display:flex}.assignment-conflicts>header span{color:#fff;background:#b42318;border-radius:99px;place-items:center;min-width:23px;height:23px;font-size:9px;display:grid}.assignment-conflicts article{border-bottom:1px solid #f5d7d4;gap:3px;padding:9px 0;display:grid}.assignment-conflicts article b{font-size:10px}.assignment-conflicts article span,.assignment-conflicts article small{color:#6f5960;font-size:9px}.assignment-conflicts>p{color:#8d342d;margin:10px 0 0;font-size:9px}.create-modal footer .force-assignment-button{color:#fff;background:#b42318;border-color:#b42318}.edit-modal{flex-direction:column;width:min(760px,92vw);max-height:90vh;display:flex}.frequent-clients{background:#f8f9fa;border:1px solid #e2e5e9;border-radius:8px;margin:17px 0 0;padding:11px 12px}.frequent-clients>span{color:#7c838d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:8px;font-weight:850;display:block}.frequent-clients>div{flex-wrap:wrap;gap:7px;display:flex}.frequent-clients button{color:#3b414a;cursor:pointer;background:#fff;border:1px solid #d9dde2;border-radius:7px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:800;display:flex}.frequent-clients button small{color:#9298a1;font-size:8px;font-weight:650}.frequent-clients button.recommended{color:#c64c0e;background:#fff3eb;border-color:#ef8e55}.linked-client-picker{background:linear-gradient(145deg,#fff8f3,#fff);border:1px solid #f1c6ae;border-radius:12px;margin:17px 0 0;padding:13px}.linked-client-picker label{flex-direction:column;gap:6px;display:flex}.linked-client-picker label>span{color:#b9470d;letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:900}.linked-client-picker select{color:#303640;width:100%;height:42px;font:inherit;background:#fff;border:1px solid #e3b79e;border-radius:8px;padding:0 11px;font-size:11px}.linked-client-picker>div{background:#eefaf2;border-left:3px solid #22a65a;border-radius:6px;flex-direction:column;gap:4px;margin-top:9px;padding:9px 10px;display:flex}.linked-client-picker>div b{color:#176c3e;font-size:10px}.linked-client-picker>div span{color:#64706b;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.manager-directory-bar{background:#f7f8fa;justify-content:flex-end;padding:8px 20px 0;display:flex}.manager-directory-bar button{color:#4c5561;cursor:pointer;background:#fff;border:1px solid #d9dde2;border-radius:8px;padding:8px 11px;font-size:9px;font-weight:800}.manager-directory-modal{width:min(720px,92vw)}.manager-create-form{grid-template-columns:1.2fr .8fr 1.2fr auto;gap:8px;margin:18px 0;display:grid}.manager-create-form input{border:1px solid #d9dde2;border-radius:8px;min-width:0;padding:10px}.manager-directory-list{gap:7px;max-height:380px;display:grid;overflow:auto}.manager-directory-list article{background:#fafbfc;border:1px solid #e2e5e9;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.manager-directory-list article>div{flex-direction:column;gap:4px;min-width:0;display:flex}.manager-directory-list b{font-size:11px}.manager-directory-list span{color:#727b86;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.manager-directory-list article>button{color:#b42318;background:#fff;border:1px solid #efcaca;border-radius:7px;padding:7px 9px;font-size:9px}.works-sms-modal{width:min(470px,100vw - 24px)}.works-sms-summary{background:#f4f6f8;border-radius:9px;flex-direction:column;gap:4px;margin:15px 0;padding:12px;display:flex}.works-sms-summary span{color:#707984;font-size:10px}.works-sms-modal>label{cursor:pointer;background:#effaf3;border:1px solid #b9dfc8;border-radius:10px;align-items:flex-start;gap:10px;margin:15px 0;padding:13px;display:flex}.works-sms-modal>label.disabled{color:#8b929b;background:#f5f6f7;border-color:#e0e3e7}.works-sms-modal>label input{accent-color:#16814a;margin-top:3px}.works-sms-modal>label span{flex-direction:column;gap:4px;display:flex}.works-sms-modal>label small{color:#69736e;font-size:9px}@media (width<=700px){.manager-directory-bar{padding:7px 10px}.manager-directory-bar button{width:100%;min-height:40px}.manager-create-form{grid-template-columns:1fr}.manager-directory-modal{width:calc(100% - 20px)}}.edit-form-grid{padding-right:6px;display:block;overflow-y:auto}.edit-section h3{color:#2b3038;margin:0 0 13px;font-size:13px}.edit-section-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.edit-section-grid label{flex-direction:column;gap:6px;display:flex}.edit-section-grid label.wide{grid-column:1/-1}.detail-modal{flex-direction:column;width:min(760px,92vw);max-height:90vh;display:flex}.detail-content{min-height:0;margin:20px 0;padding-right:6px;overflow-y:auto}.detail-section+.detail-section{border-top:1px solid #e3e5e8;margin-top:22px;padding-top:18px}.detail-section h3{margin:0 0 12px;font-size:13px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detail-field{background:#f8f9fa;border:1px solid #e2e5e9;border-radius:7px;flex-direction:column;gap:5px;min-width:0;padding:11px 12px;display:flex}.detail-field small{color:#838a94;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:850}.detail-field strong{overflow-wrap:anywhere;color:#303640;white-space:pre-wrap;font-size:11px}.empty-team-list{color:#8e949d;text-align:center;margin:0;padding:24px;font-size:11px}.email-settings-modal{flex-direction:column;width:min(720px,94vw);max-height:88vh;display:flex}.new-email-form{grid-template-columns:minmax(220px,1fr) auto;gap:9px;margin:20px 0 16px;display:grid}.new-email-form input,.email-settings-row>input{min-width:0;height:38px;color:var(--ink);background:#f8f9fa;border:1px solid #d8dce1;border-radius:7px;outline:0;padding:0 10px;font-size:11px}.new-email-form input:focus,.email-settings-row>input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f064181a}.email-settings-list{border-top:1px solid #e3e5e8;border-bottom:1px solid #e3e5e8;min-height:80px;overflow-y:auto}.email-settings-row{border-bottom:1px solid #eceef0;grid-template-columns:92px minmax(210px,1fr) 82px 76px;align-items:center;gap:8px;padding:10px 4px;display:grid}.email-settings-row:last-child{border-bottom:0}.email-active{color:#555d68;cursor:pointer;align-items:center;gap:7px;font-size:9px;font-weight:800;display:flex}.email-active input{accent-color:var(--orange)}.email-settings-row button{color:#424852;cursor:pointer;background:#fff;border:1px solid #d7dbe0;border-radius:7px;height:34px;font-size:9px;font-weight:800}.email-settings-row .remove-email{color:#b52e27;border-color:#efcbc8}.email-settings-modal footer{justify-content:flex-end;padding-top:16px}.document-backdrop{padding:3vh 3vw}.document-modal{background:#fff;border-radius:13px;flex-direction:column;width:min(1080px,94vw);height:94vh;display:flex;overflow:hidden;box-shadow:0 24px 70px #0f131957}.document-modal>header{border-bottom:1px solid #e2e5e9;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:17px 20px;display:flex}.document-modal>header h2{margin:0;font-size:20px}.document-modal>header div>span{color:#7b828c;margin-top:4px;font-size:10px;display:block}.document-modal>header .close{color:#747b84;background:#f0f1f3;flex:none}.document-workspace{flex:1;grid-template-columns:310px minmax(0,1fr);min-height:0;display:grid}.document-sidebar{background:#f7f8f9;border-right:1px solid #e2e5e9;flex-direction:column;min-height:0;padding:16px;display:flex}.pdf-upload{color:#c94d0d;cursor:pointer;background:#fff5ee;border:1px dashed #ef8e55;border-radius:8px;place-items:center;min-height:42px;font-size:11px;font-weight:850;display:grid}.pdf-upload:hover{background:#ffede2;border-style:solid}.pdf-upload.disabled{opacity:.55;cursor:wait}.pdf-upload input{opacity:0;width:1px;height:1px;position:absolute}.document-sidebar>small{color:#8b919a;text-align:center;margin:7px 0 14px;font-size:8px}.document-list{min-height:0;overflow-y:auto}.document-list>p{color:#8b919a;text-align:center;padding:24px 8px;font-size:10px}.document-list article{background:#fff;border:1px solid #dfe2e6;border-radius:8px;align-items:center;margin-bottom:7px;display:flex;overflow:hidden}.document-list article.active{border-color:var(--orange);box-shadow:0 0 0 2px #f064181a}.document-open{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:9px;min-width:0;padding:9px;display:flex}.document-open>b{color:#fff;background:#e84f3d;border-radius:5px;flex:none;place-items:center;width:30px;height:34px;font-size:8px;display:grid}.document-open>span{flex-direction:column;gap:3px;min-width:0;display:flex}.document-open strong{color:#333943;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.document-open small{color:#9298a1;font-size:8px}.document-open .photo-metadata-compact{color:#68717d;text-overflow:ellipsis;white-space:nowrap;max-width:205px;overflow:hidden}.document-remove{color:#b13a32;cursor:pointer;background:0 0;border:0;border-left:1px solid #eceef0;align-self:stretch;width:34px;font-size:17px}.document-preview{background:#3b4048;flex-direction:column;min-width:0;min-height:0;display:flex}.preview-toolbar{color:#fff;background:#242932;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 13px;display:flex}.preview-toolbar>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.preview-toolbar>span{gap:7px;display:flex}.preview-toolbar a{color:#31363f;white-space:nowrap;background:#fff;border-radius:5px;padding:7px 9px;font-size:8px;font-weight:800;text-decoration:none}.preview-media-area{background:#171a1f;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.preview-media-area iframe{background:#fff;border:0;flex:1;width:100%;min-height:0}.preview-media-area img,.preview-media-area video{object-fit:contain;background:#171a1f;width:100%;height:100%;min-height:0}.photo-metadata{color:#343b45;background:#fff;border-top:1px solid #dfe3e8;flex:none;padding:12px 16px 14px}.photo-metadata-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.photo-metadata-title b{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.photo-metadata-title span{color:#858c96;background:#f1f3f5;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:750}.photo-metadata dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;margin:0;display:grid}.photo-metadata dl>dt{color:#8a919b;text-transform:uppercase;font-size:8px;font-weight:800}.photo-metadata dl>dd{overflow-wrap:anywhere;color:#353c46;min-width:0;margin:1px 0 0;font-size:9px;font-weight:700}.photo-metadata dl>dd a{color:#d95411;text-decoration:none}.photo-metadata dl>dd a:hover{text-decoration:underline}.preview-placeholder{color:#d8dbe0;text-align:center;margin:auto}.preview-placeholder b{color:#fff;background:#e84f3d;border-radius:8px;place-items:center;width:58px;height:68px;margin:0 auto 13px;font-size:13px;display:grid}.preview-placeholder p{margin:0 0 4px;font-size:12px;font-weight:750}.preview-placeholder small{color:#aeb3ba;font-size:9px}@media (width<=720px){.topbar{gap:10px;height:auto;min-height:72px;padding:10px 12px}.brand-logo{width:86px}.brand-divider,.brand-block .eyebrow{display:none}.brand-block h1{font-size:16px}.header-actions{margin-left:auto}.search{width:42px;padding:0 12px}.search input{display:none}.client-filter{width:118px;min-width:0;padding-left:8px;font-size:9px}.team-management-button{display:none}.header-actions>.primary-button{padding:11px;font-size:0}.header-actions>.primary-button:first-letter{font-size:16px}.summary-bar{padding:10px 12px}.summary-metrics{display:none}.drawer{width:100vw}.drawer-header{align-items:flex-start;gap:12px;min-height:92px;padding:16px}.drawer-header h2{font-size:16px}.drawer-actions{gap:5px}.edit-project,.delete-project{padding:7px;font-size:8px}.project-facts{gap:12px;padding:12px;overflow-x:auto}.fact-team-button{min-width:190px}.stage-tabs{grid-template-columns:repeat(7,minmax(70px,1fr));padding:14px 10px 0;overflow-x:auto}.steps-panel{margin:12px;padding:14px}.checklist label{min-height:55px}.document-backdrop{padding:0}.document-modal{border-radius:0;width:100vw;height:100dvh}.document-modal>header{min-height:68px;padding:12px}.document-modal>header h2{font-size:17px}.document-workspace{grid-template-rows:minmax(150px,38vh) minmax(0,1fr);grid-template-columns:1fr}.document-sidebar{border-bottom:1px solid #e2e5e9;border-right:0;padding:11px}.document-list{gap:7px;display:flex;overflow:auto hidden}.document-list article{min-width:230px;margin-bottom:0}.preview-toolbar{padding:0 8px}.preview-toolbar a{padding:7px}.photo-metadata{max-height:34vh;padding:10px 12px 12px;overflow-y:auto}.photo-metadata dl{grid-template-columns:1fr;gap:4px}.photo-metadata dl>dd{margin-bottom:4px}.new-email-form{grid-template-columns:1fr}.email-settings-row{grid-template-columns:88px 1fr}.email-settings-row>input{grid-column:1/-1}}@media (width<=1250px){.board{grid-template-columns:repeat(7,224px)}}.mobile-stage-navigation{display:none}@media (width<=720px){body{min-width:0}.app-shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.topbar{flex-direction:column;flex:none;align-items:stretch}.brand-block{gap:12px}.header-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0;display:grid}.search{grid-column:1/-1;width:100%;height:44px}.search input{font-size:16px;display:block}.client-filter{width:100%;height:44px;font-size:14px}.team-management-button{height:44px;font-size:12px;display:block}.header-actions>.primary-button{grid-column:1/-1;min-height:44px;font-size:14px}.header-actions>.primary-button:first-letter{font-size:inherit}.summary-bar{flex:none;height:36px;font-size:11px}.summary-bar small{display:none}.mobile-stage-navigation{border-bottom:1px solid var(--line);background:#fff;flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.mobile-stage-navigation label{color:#737a84;flex:1;min-width:0;font-size:10px}.mobile-stage-navigation select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;font-size:14px}.mobile-stage-navigation button{border:1px solid var(--line);background:#fff;border-radius:8px;width:44px;height:44px;font-size:26px}.mobile-stage-navigation button:disabled{opacity:.3}.board{height:auto;min-height:0;padding:10px 12px max(12px,env(safe-area-inset-bottom));flex:1;display:block;overflow:hidden}.board .column{min-width:0;height:100%;display:none}.board .mobile-active-column{display:flex}.column-header{flex-shrink:0}.column-body{overscroll-behavior:contain}.project-card{flex-shrink:0;padding:16px}.drawer-actions{flex-wrap:wrap;justify-content:flex-end}.drawer-actions button,.close{min-width:44px;min-height:44px}.form-grid,.edit-section-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}.create-modal input,.create-modal select,.create-modal textarea{font-size:16px}.header-actions.team-navigation .client-filter{grid-column:1/-1}}.create-modal.history-modal{box-sizing:border-box;flex-direction:column;gap:16px;width:min(720px,100vw - 24px);max-height:90dvh;display:flex}.history-content{min-height:0;padding:0 24px 20px;overflow-y:auto}.history-content>p{color:#6b7280;font-size:12px}.history-event{background:#f8f9fa;border-left:3px solid #f06418;border-radius:6px;margin:18px 0;padding:12px 16px}.history-event h3{margin:0;font-size:14px}.history-event p{font-size:12px}.history-event dl{margin:10px 0 0}.history-event dl>div{border-top:1px solid #e5e7eb;padding:8px 0}.history-event dt{color:#6b7280;font-size:11px;font-weight:700}.history-event dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.history-before{color:#6b7280}.app-shell{background:radial-gradient(circle at 8% 0,#f064180e,#0000 28%),linear-gradient(#f8f9fb 0,#f1f3f6 100%)}.topbar{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;position:relative;box-shadow:0 8px 30px #19202b0b}.topbar:after{content:"";background:linear-gradient(90deg,#0000,#f0641859 18%,#20242c14 55%,#0000);height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand-logo{filter:drop-shadow(0 5px 8px #1f252f21);transition:transform .25s,filter .25s}.brand-block:hover .brand-logo{filter:drop-shadow(0 8px 11px #1f252f2e);transform:translateY(-2px)}.brand-block h1{color:#171b22;letter-spacing:-.035em}.search,.client-filter,.team-management-button{border-color:#dce1e7;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s;box-shadow:0 2px 8px #141c2709}.search{background:#f7f8fa}.search:focus-within{background:#fff;border-color:#f06418b3;box-shadow:0 0 0 4px #f0641817,0 8px 20px #19202b0f}.client-filter:hover,.team-management-button:hover{transform:translateY(-1px);box-shadow:0 7px 16px #19202b12}.primary-button{transition:transform .18s,box-shadow .18s,filter .18s}.primary-button:hover{filter:saturate(1.08);transform:translateY(-2px);box-shadow:0 10px 24px #f064184d}.primary-button:active{transform:translateY(0);box-shadow:0 4px 10px #f0641838}.summary-bar{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;position:relative}.summary-bar>div:first-child>b{color:#202630}.live-dot{animation:2.2s ease-in-out infinite liveGlow}@keyframes liveGlow{50%{box-shadow:0 0 0 6px #22a65a14}}.summary-metrics{gap:10px!important}.summary-metrics span{white-space:nowrap;background:#ffffffbd;border:1px solid #dadfe5cc;border-radius:999px;padding:7px 10px;box-shadow:0 2px 7px #181f2a09}.board{scrollbar-width:thin;scrollbar-color:#c3c9d1 transparent;gap:14px;padding:20px 20px 26px}.column{background:linear-gradient(#eef0f3 0%,#e7eaee 100%);border:1px solid #d8dde4f2;border-radius:15px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;box-shadow:0 8px 25px #161e2a0e,inset 0 1px #fffc}.column:hover{transform:translateY(-2px);box-shadow:0 14px 32px #161e2a16,inset 0 1px #ffffffe6}.column.drag-over{border-color:var(--stage-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--stage-color) 18%, transparent), 0 18px 38px #161e2a24;transform:translateY(-3px)scale(1.008)}.column.drag-over .column-body{background:color-mix(in srgb, var(--stage-color) 5%, transparent)}.column-header{background:linear-gradient(#fff,#fafbfcf7);border-top:0;border-bottom-color:#dde1e6;height:61px;padding:0 14px;position:relative}.column-header:before{content:"";background:var(--stage-color);height:3px;box-shadow:0 3px 10px color-mix(in srgb, var(--stage-color) 28%, transparent);border-radius:0 0 5px 5px;position:absolute;top:0;left:12px;right:12px}.column-header>div{gap:10px}.stage-index{min-width:24px;height:24px;color:var(--stage-color);background:color-mix(in srgb, var(--stage-color) 9%, white);border-radius:7px;place-items:center;font-size:8px;display:grid}.column-header h2{color:#1f2630;letter-spacing:.035em;font-size:11px;font-weight:900}.count{background:#f2f4f6;border:1px solid #e0e4e9;min-width:25px;height:25px;padding:0 5px;box-shadow:inset 0 1px #fff}.column-body{scrollbar-width:thin;scrollbar-color:#aeb5be transparent;gap:11px;padding:11px;transition:background .18s}.column-body::-webkit-scrollbar{width:5px}.column-body::-webkit-scrollbar-thumb{background:#b6bcc4;border-radius:10px}.project-card{isolation:isolate;border-color:#dde2e8;border-left:5px solid var(--project-color,#64748b);border-radius:12px;flex:none;padding:14px 13px 12px 15px;transition:transform .2s cubic-bezier(.2,.75,.25,1),box-shadow .2s,border-color .2s;animation:.32s both kanbanCardIn;position:relative;overflow:hidden;box-shadow:0 3px 10px #19202b0e,0 1px 2px #19202b0d}.project-card:after{content:"";z-index:-1;background:color-mix(in srgb, var(--project-color) 7%, transparent);pointer-events:none;border-radius:50%;width:115px;height:115px;transition:transform .25s,opacity .25s;position:absolute;top:-45px;left:-55px}.project-card:hover{z-index:2;border-color:#cbd2da;border-left-color:var(--project-color,#64748b);transform:translateY(-4px)scale(1.008);box-shadow:0 14px 28px #19202b21,0 3px 7px #19202b0f}.project-card:hover:after{transform:scale(1.28)}.project-card:focus-visible{outline-offset:2px;outline:3px solid #f064183d}.project-card:active{opacity:.88;transform:scale(.985)}@keyframes kanbanCardIn{0%{opacity:0;transform:translateY(7px)}}.category,.contract-type{border-radius:5px;align-items:center;min-height:19px;box-shadow:inset 0 0 0 1px #ffffff59}.category{color:#2e3540;background:#f0f2f4}.ref{color:#87909c;font-variant-numeric:tabular-nums}.project-card h3{color:#161c24;letter-spacing:-.025em;margin-top:11px;font-size:15px;line-height:1.15}.address{color:#747d89;line-height:1.4}.card-meta{color:#4d5662;border-color:#eaedf0;padding:8px 0}.card-meta span:last-child{text-align:right}.team-line{margin:10px 0}.team-avatar{background:linear-gradient(145deg,#303743,#1b2028);border-radius:7px;flex:none;width:22px;height:22px;box-shadow:0 4px 9px #191f282e}.progress-label{margin-top:1px}.progress{background:#e9edf1;height:6px;margin:6px 0 11px;box-shadow:inset 0 1px 2px #1f263014}.progress span{box-shadow:0 2px 6px color-mix(in srgb, var(--project-color) 20%, transparent);position:relative}.progress span:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73);position:absolute;inset:0}.project-card footer{color:#8c949f;font-variant-numeric:tabular-nums;min-height:18px}.project-card footer b{color:#202630;font-size:10px}.empty-state{text-align:center;background:#ffffff61;border-color:#c7cdd5;border-radius:12px;min-height:112px;padding:18px;transition:border-color .18s,background .18s,color .18s}.empty-state:before{content:"+";margin-right:6px;font-size:17px;font-weight:300}.drag-over .empty-state{border-color:var(--stage-color);color:#4e5661;background:#ffffffb8}.drawer-backdrop,.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.drawer{box-shadow:-28px 0 70px #12182238}.drawer-header{background:linear-gradient(135deg,#171c24 0%,#282f3a 100%)}.steps-panel{border-radius:14px;box-shadow:0 10px 30px #19202b12}@media (width<=720px){.topbar{background:#fffffff7}.summary-bar{background:#ffffffd6}.mobile-stage-navigation{padding:9px 12px;box-shadow:0 5px 14px #19202b0b}.board{padding:12px 12px max(14px, env(safe-area-inset-bottom))}.board .column{border-radius:16px;transform:none}.column-header{height:60px}.project-card{border-radius:13px;padding:16px}.project-card:hover{transform:none}.project-card:active{transform:scale(.985)}}@media (prefers-reduced-motion:reduce){.project-card,.column,.brand-logo,.primary-button,.live-dot{transition:none!important;animation:none!important}}:root{--kanban-shadow-sm:0 5px 15px #19202b0e;--kanban-shadow-md:0 15px 38px #19202b1a;--kanban-shadow-lg:0 30px 80px #0f151e3d;--kanban-ease:cubic-bezier(.22,1,.36,1)}::selection{color:#171c23;background:#f0641833}.app-shell{animation:kanbanPageIn .42s var(--kanban-ease) both}@keyframes kanbanPageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.search,.client-filter,.team-management-button,.primary-button{border-radius:11px}.primary-button{background:linear-gradient(135deg,#ff762b,#e9520a)}.summary-bar{box-shadow:0 7px 22px #19202b09}.summary-metrics span{transition:transform .2s var(--kanban-ease), box-shadow .2s ease, border-color .2s ease}.summary-metrics span:hover{border-color:#cfd5dc;transform:translateY(-2px);box-shadow:0 7px 17px #19202b12}.board::-webkit-scrollbar{height:10px}.board::-webkit-scrollbar-thumb{background:#b7bec8 padding-box padding-box;border:2px solid #0000;border-radius:999px}.column{transition:transform .24s var(--kanban-ease), box-shadow .24s ease, border-color .2s ease}.column-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.column-header:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--stage-color) 34%, transparent), transparent);height:1px;position:absolute;bottom:-1px;left:0;right:0}.count{transition:transform .2s var(--kanban-ease), background .2s ease}.column:hover .count{background:#fff;transform:scale(1.08)}.project-card{transition:transform .24s var(--kanban-ease), box-shadow .24s ease, border-color .2s ease, opacity .2s ease}.project-card:before{content:"";z-index:2;background:var(--project-color,#64748b);width:5px;box-shadow:3px 0 12px color-mix(in srgb, var(--project-color,#64748b) 22%, transparent);border-radius:0 4px 4px 0;position:absolute;top:12px;bottom:12px;left:-5px}.project-card[draggable=true]{cursor:grab}.project-card[draggable=true]:active{cursor:grabbing;transform:scale(.98)rotate(.15deg)}.category,.contract-type{border-radius:6px}.category{box-shadow:inset 0 0 0 1px #1f263009}.team-line{padding:2px 0}.team-avatar{transition:transform .2s var(--kanban-ease), box-shadow .2s ease}.project-card:hover .team-avatar{transform:scale(1.08)rotate(-2deg);box-shadow:0 7px 14px #191f2838}.progress span{transition:width .42s var(--kanban-ease)}.drawer-backdrop,.modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1218218f;animation:.2s both kanbanFadeIn}@keyframes kanbanFadeIn{0%{opacity:0}}.drawer{animation:kanbanDrawerIn .32s var(--kanban-ease) both;background:linear-gradient(#f8f9fb,#f0f3f6)}@keyframes kanbanDrawerIn{0%{opacity:0;transform:translate(55px)}to{opacity:1;transform:none}}.drawer-header{background:radial-gradient(circle at 82% 18%,#f0641830,#0000 28%),linear-gradient(135deg,#1b212a,#12171e);position:relative;overflow:hidden}.drawer-header:after{content:"";pointer-events:none;border:30px solid #f064181a;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-120px;right:-80px}.drawer-header>*{z-index:1;position:relative}.drawer-actions button{transition:transform .18s var(--kanban-ease), background .18s ease, border-color .18s ease, box-shadow .18s ease}.drawer-actions button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 16px #00000024}.close{transition:transform .2s var(--kanban-ease), background .2s ease}.close:hover{background:#ffffff2e;transform:rotate(90deg)}.project-facts{z-index:3;position:sticky;top:0;box-shadow:0 7px 20px #19202b0b}.project-facts>span,.fact-team-button{transition:transform .2s var(--kanban-ease), background .2s ease, border-color .2s ease, box-shadow .2s ease}.project-facts>span:hover{transform:translateY(-2px)}.fact-team-button{border-radius:11px}.fact-team-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #f064181f}.stage-tabs button{transition:color .2s ease, border-color .2s ease, transform .2s var(--kanban-ease)}.stage-tabs button:not(:disabled):hover{color:#343b46;transform:translateY(-2px)}.stage-tabs button span{transition:transform .2s var(--kanban-ease), background .2s ease, box-shadow .2s ease}.stage-tabs button.active span{transform:scale(1.08);box-shadow:0 7px 15px #f064183d}.steps-panel{box-shadow:var(--kanban-shadow-md);background:linear-gradient(145deg,#fff,#fbfcfd);border-radius:17px}.panel-title-actions>span{border-radius:999px}.panel-title-actions button{border-radius:8px;transition:transform .18s,border-color .18s,box-shadow .18s}.panel-title-actions button:hover{box-shadow:var(--kanban-shadow-sm);border-color:#f06418;transform:translateY(-2px)}.checklist label{transition:transform .18s var(--kanban-ease), background .18s ease, color .18s ease;border-radius:10px;padding:0 9px;position:relative}.checklist label:hover{z-index:1;background:#f7f8fa;transform:translate(4px)}.checklist label.interactive-step{background:#fff8f3}.checklist label.interactive-step:hover{background:#ffede2}.fake-check{transition:transform .2s var(--kanban-ease), background .2s ease, border-color .2s ease, box-shadow .2s ease}.done .fake-check{transform:scale(1.05);box-shadow:0 5px 12px #1f9d582e}.advance-button{transition:transform .2s var(--kanban-ease), box-shadow .2s ease;background:linear-gradient(135deg,#303743,#1b2028);border-radius:11px;box-shadow:0 9px 22px #191f282b}.advance-button:hover{transform:translateY(-2px);box-shadow:0 13px 28px #191f283b}.advance-button:active{transform:scale(.99)}.stop-report{border-radius:12px;box-shadow:inset 0 1px #fff}.gate-modal,.create-modal,.document-modal{box-shadow:var(--kanban-shadow-lg);animation:kanbanModalIn .3s var(--kanban-ease) both;border:1px solid #ffffffbd;border-radius:18px}@keyframes kanbanModalIn{0%{opacity:0;transform:translateY(18px)scale(.975)}to{opacity:1;transform:none}}.gate-modal .close,.create-modal header .close,.document-modal>header .close{border-radius:10px}.gate-modal .close:hover,.create-modal header .close:hover,.document-modal>header .close:hover{background:#e6e9ed;transform:rotate(90deg)}.gate-icon{box-shadow:inset 0 1px #fff,0 8px 18px #f064181a}.form-grid input,.form-grid select,.form-grid textarea,.billing-form input,.force-field textarea,.new-email-form input,.email-settings-row>input,.stop-report textarea{border-radius:10px;transition:border-color .2s,box-shadow .2s,background .2s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.billing-form input:focus,.force-field textarea:focus,.new-email-form input:focus,.email-settings-row>input:focus,.stop-report textarea:focus{background:#fff;box-shadow:0 0 0 4px #f064181a,0 7px 17px #19202b0e}.edit-section{background:#fafbfc;border:1px solid #e7eaee;border-radius:13px;padding:16px}.edit-section+.edit-section{border-top:1px solid #e7eaee;margin-top:14px;padding-top:16px}.detail-field{transition:transform .18s var(--kanban-ease), box-shadow .18s ease, border-color .18s ease;border-radius:10px}.detail-field:hover{box-shadow:var(--kanban-shadow-sm);border-color:#d5dae1;transform:translateY(-2px)}.frequent-clients{border-radius:12px}.frequent-clients button{transition:transform .18s,border-color .18s,box-shadow .18s}.frequent-clients button:hover{box-shadow:var(--kanban-shadow-sm);border-color:#f06418;transform:translateY(-2px)}.assignment-note,.assignment-conflicts{border-radius:11px}.document-modal{overflow:hidden}.document-modal>header{background:linear-gradient(145deg,#fff,#fafbfc)}.document-sidebar{background:linear-gradient(#f8f9fb,#eef1f4)}.pdf-upload{transition:transform .18s var(--kanban-ease), background .18s ease, box-shadow .18s ease;border-radius:11px}.pdf-upload:hover{transform:translateY(-2px);box-shadow:0 9px 20px #f064181f}.document-list article{transition:transform .18s var(--kanban-ease), box-shadow .18s ease, border-color .18s ease;border-radius:11px}.document-list article:hover{box-shadow:var(--kanban-shadow-sm);transform:translate(3px)}.preview-toolbar a{border-radius:7px;transition:transform .18s,background .18s}.preview-toolbar a:hover{background:#fff2e9;transform:translateY(-1px)}.notice{animation:kanbanNoticeIn .28s var(--kanban-ease) both;border-radius:12px}@keyframes kanbanNoticeIn{0%{opacity:0;transform:translateY(15px)scale(.98)}}@media (width<=720px){.app-shell{animation:none}.topbar{border-radius:0 0 17px 17px;box-shadow:0 10px 26px #19202b13}.mobile-stage-navigation{border:1px solid #e0e4e9;border-radius:13px;margin:8px 10px 0}.mobile-stage-navigation select,.mobile-stage-navigation button{border-radius:10px}.board .column{box-shadow:0 12px 28px #19202b13}.project-card:hover,.checklist label:hover,.detail-field:hover{transform:none}.project-facts{top:0}.drawer-header:after{opacity:.6}.gate-modal,.create-modal{border-radius:16px;width:min(100% - 20px,760px);max-height:calc(100dvh - 20px)}.document-modal{border-radius:0}}@media (prefers-reduced-motion:reduce){.app-shell,.app-shell *,.drawer-backdrop,.modal-backdrop,.drawer,.gate-modal,.create-modal,.document-modal,.notice{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.project-card{box-sizing:border-box;color:inherit;font:inherit}.timeclock-card{display:none}.timeclock-history-modal{width:min(860px,100vw - 28px)}.timeclock-history-modal>header small{color:#7c8591;margin-top:5px;font-size:11px;display:block}.timeclock-history-list{gap:8px;max-height:min(62vh,590px);margin:20px -4px 18px 0;padding-right:6px;display:grid;overflow:auto}.timeclock-history-list article{transition:transform .18s var(--kanban-ease), border-color .18s ease, box-shadow .18s ease;background:#fbfcfd;border:1px solid #e4e8ed;border-radius:12px;grid-template-columns:minmax(160px,1.5fr) repeat(4,minmax(95px,1fr));align-items:center;gap:14px;padding:13px 14px;display:grid}.timeclock-history-list article:hover{box-shadow:var(--kanban-shadow-sm);border-color:#d3d9e0;transform:translateY(-2px)}.timeclock-history-list article>div{gap:3px;display:grid}.timeclock-history-list article small{color:#8a929d;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:750}.timeclock-history-list article strong{color:#252c35;font-size:11px}.timeclock-person{align-items:center;gap:9px;display:flex!important}.timeclock-person>span{color:#fff;background:linear-gradient(145deg,#ff762b,#e9520a);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:850;display:grid;box-shadow:0 6px 14px #f0641833}.timeclock-person b{color:#252c35;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.timeclock-empty{color:#7c8591;text-align:center;margin:20px}.forgotten-clock-summary{color:#a62b24!important;background:#fff3f2!important;border-color:#efb7b3!important}.offline-mode-badge,.offline-queue-badge{letter-spacing:.03em;border-radius:999px;align-items:center;min-height:23px;margin-left:8px;padding:0 8px;font-size:8px;font-weight:850;display:inline-flex}.offline-mode-badge{color:#8a4717;background:#fff4e7;border:1px solid #efc18f}.offline-mode-badge:before{content:"";background:#dd721f;border-radius:50%;width:6px;height:6px;margin-right:5px}.offline-queue-badge{color:#3f4d5d;background:#f3f5f7;border:1px solid #cfd6de}.timeclock-admin-alert{color:#a62b24;background:#fff3f2;border:1px solid #efb7b3;border-radius:8px;justify-content:center;align-items:center;min-height:27px;margin:10px -3px -3px;font-size:9px;font-weight:850;display:flex}.settings-section{margin-top:18px}.settings-section>h3,.timeclock-settings h3{color:#29313b;margin:0 0 10px;font-size:12px}.timeclock-settings{background:#f7f9fa;border:1px solid #e2e6eb;border-radius:13px;grid-template-columns:minmax(180px,1fr) 120px 130px auto;align-items:end;gap:11px;padding:15px;display:grid}.timeclock-settings>div p{color:#7d8691;margin:3px 0 0;font-size:9px;line-height:1.4}.timeclock-settings label{gap:6px;display:grid}.timeclock-settings label span{color:#69727e;text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:800}.timeclock-settings input,.timeclock-settings select{box-sizing:border-box;color:#29313b;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #d7dce2;border-radius:9px;padding:0 10px;font-size:11px}.timeclock-settings>button{color:#fff;cursor:pointer;border:0;min-height:40px;padding:0 13px;font-size:10px;font-weight:800}@media (width<=900px),(hover:none) and (pointer:coarse){.timeclock-card{background:linear-gradient(145deg,#f8fafb,#f1f4f6);border:1px solid #dce2e8;border-radius:12px;gap:9px;margin:13px -5px -5px;padding:11px;display:grid;box-shadow:inset 0 1px #fff}.timeclock-card.is-working{background:linear-gradient(145deg,#f2fcf6,#e8f7ee);border-color:#a9ddc1}.timeclock-card.is-break{background:linear-gradient(145deg,#fff9f1,#fff1de);border-color:#f3cc9e}.timeclock-card.is-overdue{background:linear-gradient(145deg,#fff7f6,#ffebe9);border-color:#e79a95;box-shadow:0 0 0 3px #ca372e14}.timeclock-reminder{color:#9f2922;border-bottom:1px solid #f0c4c0;gap:2px;padding-bottom:8px;display:grid}.timeclock-reminder b{font-size:11px}.timeclock-reminder span{font-size:9px;line-height:1.4}.timeclock-status{align-items:center;gap:9px;display:flex}.timeclock-status>span:last-child{flex:1;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.timeclock-status small{color:#65716d;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.timeclock-status strong{color:#1b3b29;font-variant-numeric:tabular-nums;font-size:13px}.timeclock-live-dot{background:#22a05b;border:3px solid #22a05b29;border-radius:50%;flex:none;width:9px;height:9px;animation:1.8s infinite clockPulse;box-shadow:0 0 #22a05b3d}.is-break .timeclock-live-dot{background:#f06418;border-color:#f0641829;animation:none}@keyframes clockPulse{70%{box-shadow:0 0 0 8px #22a05b00}}.timeclock-card button{cursor:pointer;border:0;border-radius:10px;min-height:43px;font-size:11px;font-weight:850;transition:transform .16s,opacity .16s,box-shadow .16s}.timeclock-card button:active:not(:disabled){transform:scale(.975)}.timeclock-card button:disabled{cursor:not-allowed;opacity:.55}.timeclock-team-size{color:#68737f;text-align:center;font-size:9px;font-weight:750}.clock-start{color:#fff;background:linear-gradient(135deg,#2aad68,#18834c);width:100%;box-shadow:0 8px 18px #1b975533}.timeclock-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.timeclock-actions button{color:#27313b;background:#fff;border:1px solid #d7dde4}.timeclock-actions .clock-stop{color:#fff;background:#29313c;border-color:#29313c}.timeclock-history-modal{width:calc(100% - 20px)}.timeclock-history-list article{grid-template-columns:1fr 1fr;gap:11px}.timeclock-person{border-bottom:1px solid #e7eaee;grid-column:1/-1;padding-bottom:8px}.timeclock-settings{grid-template-columns:1fr 1fr}.timeclock-settings>div,.timeclock-settings>button{grid-column:1/-1}}@media (width<=720px){.summary-metrics{display:none!important}.summary-bar{overflow:hidden}.summary-bar>div:first-child{min-width:0;max-width:100%}.summary-bar>div:first-child>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.offline-mode-badge,.offline-queue-badge{flex:none;margin-left:2px}.board .mobile-active-column{min-height:0;overflow:hidden}.column-body{min-height:0;padding-bottom:max(28px, env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:auto;overflow-y:auto}.project-card{overflow:hidden}.timeclock-card{z-index:3;margin:4px -5px 12px;position:relative}.clock-start{z-index:4;min-height:48px;font-size:12px;position:relative}}@media (width>=721px) and (width<=1180px){body{min-width:0;overflow:hidden}.app-shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.topbar{flex-wrap:wrap;flex:none;align-items:flex-start;gap:12px;height:auto;min-height:96px;padding:13px 16px}.brand-block{flex:260px;min-height:50px}.brand-logo{width:104px}.brand-divider{margin-inline:15px}.topbar h1{font-size:23px}.eyebrow{font-size:11px}.header-actions{flex:100%;grid-template-columns:minmax(250px,1fr) minmax(150px,.55fr) auto auto;gap:9px;display:grid}.search,.client-filter,.team-management-button,.header-actions>.primary-button{width:100%;min-width:0;height:48px;min-height:48px}.search input,.client-filter{font-size:16px}.team-management-button,.header-actions>.primary-button{font-size:13px}.manager-directory-bar{flex:none;padding:9px 16px}.manager-directory-bar button{min-height:44px;padding-inline:15px;font-size:11px}.summary-bar{flex:none;gap:12px;height:auto;min-height:54px;padding:8px 16px;font-size:13px}.summary-bar>div:first-child{min-width:0}.summary-bar small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-metrics{justify-content:flex-start;max-width:56%;padding-block:4px;overflow-x:auto}.summary-metrics span{flex:none;align-items:center;min-height:34px;font-size:11px;display:inline-flex}.mobile-stage-navigation{border-bottom:1px solid var(--line);background:#fff;flex:none;align-items:end;gap:10px;padding:10px 16px;display:flex;box-shadow:0 5px 14px #19202b0b}.mobile-stage-navigation label{color:#626c78;text-transform:uppercase;flex:1;gap:5px;font-size:11px;font-weight:800;display:grid}.mobile-stage-navigation select{color:#202833;background:#fff;border:1px solid #d6dce3;border-radius:11px;width:100%;min-height:48px;padding:0 12px;font-size:16px}.mobile-stage-navigation button{color:#28313c;background:#fff;border:1px solid #d6dce3;border-radius:11px;width:48px;height:48px;font-size:28px}.mobile-stage-navigation button:disabled{opacity:.3}.board{scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex:1;grid-template-columns:repeat(7,300px);gap:15px;height:auto;min-height:0;padding:14px 16px 20px;overflow:auto hidden}.column{scroll-snap-align:start;border-radius:16px;min-width:300px;height:100%;transform:none!important}.column-header{height:68px;min-height:68px;padding-inline:15px}.column-header h2{font-size:13px}.stage-index{min-width:29px;height:29px;font-size:10px}.count{min-width:30px;height:30px;font-size:12px}.column-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;gap:13px;min-height:0;padding:13px;overflow-y:auto}.project-card{border-radius:14px;padding:17px 16px 15px 18px;transform:none!important}.category,.contract-type{min-height:23px;padding-inline:8px;font-size:10px}.ref{font-size:11px}.project-card h3{margin-top:13px;font-size:18px}.address{min-height:34px;font-size:13px}.card-meta{padding-block:10px;font-size:11px}.team-line{min-height:29px;font-size:12px}.team-avatar{width:27px;height:27px;font-size:11px}.progress-label{font-size:11px}.progress{height:7px}.project-card footer{font-size:10px}.project-card footer b{font-size:12px}.planning-status-line span{padding:4px 7px;font-size:9px}.timeclock-card{margin-top:12px;padding:13px}.timeclock-card button{min-height:48px;font-size:12px}.drawer{width:min(860px,88vw)}.drawer-header{min-height:132px;padding:28px 30px}.drawer-header h2{font-size:27px}.drawer-header p{font-size:13px}.drawer-actions{flex-wrap:wrap;justify-content:flex-end}.drawer-actions button,.drawer-actions .close{min-width:46px;min-height:46px;font-size:12px}.project-facts{gap:24px;padding:19px 30px;overflow-x:auto}.project-facts span{min-width:130px;font-size:14px}.stage-tabs{grid-template-columns:repeat(7,minmax(105px,1fr));padding:20px 20px 0;overflow-x:auto}.stage-tabs button{min-height:58px;font-size:11px}.steps-panel{margin:20px;padding:22px}.panel-title h2{font-size:23px}.checklist label{min-height:62px;padding:13px;font-size:14px}.create-modal,.gate-modal{max-width:calc(100vw - 36px);max-height:calc(100dvh - 36px);overflow-y:auto}.create-modal input,.create-modal select,.create-modal textarea,.gate-modal input,.gate-modal select,.gate-modal textarea{min-height:48px;font-size:16px}.create-modal button,.gate-modal button{min-height:44px}.detail-modal,.edit-modal{width:min(860px,100vw - 36px)}.detail-field{padding:14px}.detail-field small{font-size:10px}.detail-field strong{font-size:13px}.document-modal{width:96vw;height:92dvh}.document-workspace{grid-template-columns:280px minmax(0,1fr)}.document-open{min-height:58px}.preview-toolbar a{align-items:center;min-height:42px;display:inline-flex}}@media (width>=721px) and (width<=840px){.header-actions{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.header-actions>.primary-button{grid-column:span 1}.summary-bar small{display:none}.summary-metrics{max-width:48%}.board{grid-template-columns:repeat(7,285px)}.column{min-width:285px}.drawer{width:94vw}.document-workspace{grid-template-columns:245px minmax(0,1fr)}}@media (hover:none) and (pointer:coarse) and (width>=721px){.project-card:hover,.column:hover,.detail-field:hover{transform:none}.project-card{touch-action:pan-x pan-y}}.dict-create-section{background:#f3faf8;border:1px solid #dce4e3;border-left:4px solid #0f766e;border-radius:12px;grid-template-columns:minmax(220px,1fr) 150px 190px;align-items:end;gap:12px;margin:0 28px 14px;padding:14px;display:grid}.dict-create-section>div{flex-direction:column;gap:4px;display:flex}.dict-create-section b{color:#163b35;font-size:12px}.dict-create-section small{color:#6d7d79;font-size:9px}.dict-create-section label{color:#596762;text-transform:uppercase;flex-direction:column;gap:5px;font-size:9px;font-weight:800;display:flex}.dict-create-section input{box-sizing:border-box;background:#fff;border:1px solid #cfd9d7;border-radius:8px;height:38px;padding:0 10px}.dict-manager{background:#f7fbfa;border:1px solid #dce5e3;border-radius:12px;margin-top:15px;padding:14px}.dict-manager>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.dict-manager>header>div{flex-direction:column;gap:3px;display:flex}.dict-manager>header b{font-size:12px}.dict-manager>header small{color:#7a8582;font-size:9px}.dict-manager>header label{color:#68726f;text-transform:uppercase;align-items:center;gap:7px;font-size:9px;font-weight:800;display:flex}.dict-manager>header input{border:1px solid #d3dcda;border-radius:7px;width:64px;height:34px;padding:0 8px}.dict-row{border-top:1px solid #e5ecea;grid-template-columns:12px 72px minmax(150px,1fr) auto;align-items:center;gap:9px;padding:9px 0;display:grid}.dict-row strong{font-size:10px}.dict-row label{color:#707a77;align-items:center;gap:8px;font-size:9px;font-weight:750;display:flex}.dict-row input[type=date]{background:#fff;border:1px solid #d4dcda;border-radius:7px;height:34px;padding:0 8px}.dict-complete input{accent-color:#168456}.dict-manager>button{color:#fff;background:#0f766e;border:0;border-radius:8px;width:100%;margin-top:8px;padding:10px;font-weight:850}.dict-card-status{align-items:center;gap:4px;margin-top:7px;display:flex}.dict-card-status span{color:#737c86;margin-left:3px;font-size:8px;font-weight:800}.dict-dot{background:#a7adb5;border-radius:50%;flex:none;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 2px #fff}.dict-dot.green{background:#20a464}.dict-dot.orange{background:#f59e0b}.dict-dot.red{background:#dc2626}.dict-dot.neutral{background:#9ca3af}.start-reminder{color:#8a5a00;background:#fff6df;border-radius:7px;margin-top:7px;padding:6px 7px;font-size:8px;font-weight:800;line-height:1.35}.secondary-advance{color:#b33e16!important;background:#fff!important;border:1px solid #f1b49b!important}.readonly-document-note{color:#59636e;background:#eef2f5;border-radius:8px;padding:10px;line-height:1.4;display:block}@media (width<=720px){.dict-create-section{grid-template-columns:1fr;margin:0 16px 12px}.dict-row{grid-template-columns:12px 62px 1fr}.dict-row .dict-complete{grid-column:2/-1}}
