@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#182b27;background:#f4f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.045em}h1{font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.2;margin-bottom:.45rem}h2{font-size:1.25rem;margin-bottom:1rem}h3{font-size:1rem;margin-bottom:.65rem}.muted{color:#71807a}.small{font-size:.82rem}.loading-screen{min-height:100vh;display:grid;place-items:center;color:#71807a}.app-shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{background:#132a25;color:#fff;padding:30px 18px;display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 10px;text-decoration:none;font:800 1.16rem Manrope,sans-serif;letter-spacing:-.05em}.brand-symbol{width:34px;height:34px;display:grid;place-items:center;background:#d7f07c;color:#193628;border-radius:11px;font-size:1.25rem}.brand small{display:block;font:500 .68rem 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a9b9ae;margin-top:1px}.nav{display:grid;gap:6px}.nav button{border:0;background:transparent;color:#aebfb5;text-align:left;padding:13px 14px;border-radius:11px;display:flex;gap:13px;align-items:center;font-weight:600}.nav button:hover,.nav button.active{background:#2a483e;color:#fff}.nav-icon{width:20px;text-align:center;font-size:1.13rem}.sidebar-bottom{margin-top:auto}.account{border-top:1px solid #385248;padding:19px 10px 0;display:flex;gap:10px;align-items:center}.avatar{width:35px;height:35px;border-radius:50%;background:#d7f07c;color:#183127;display:grid;place-items:center;font-weight:800;flex:none}.account strong{display:block;font-size:.89rem}.account span{display:block;font-size:.72rem;color:#a5b7aa;overflow:hidden;text-overflow:ellipsis;max-width:155px}.logout{border:0;background:transparent;color:#aebfb5;padding:12px 10px;margin-top:8px;text-align:left;width:100%}.logout:hover{color:white}.workspace{padding:31px clamp(20px,4vw,64px) 70px;max-width:1600px;width:100%;margin:auto}.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;color:#8a968f;font-size:.83rem}.topline strong{color:#354a40;font-weight:600}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px}.page-heading p{margin:0;color:#75847b}.btn{border:1px solid transparent;border-radius:11px;min-height:43px;padding:10px 17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;white-space:nowrap}.btn-primary{background:#234d3d;color:white;box-shadow:0 7px 16px #1e49351f}.btn-primary:hover{background:#163d2d}.btn-accent{background:#d7f07c;color:#18352a}.btn-accent:hover{background:#c8e56a}.btn-secondary{background:#fff;color:#2b493c;border-color:#dce4da}.btn-secondary:hover{background:#f7faf5}.btn-danger{color:#a23c37;background:#fff7f5;border-color:#efd3cd}.btn-link{border:0;background:transparent;padding:0;color:#285b43;font-weight:700}.btn-block{width:100%}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.stat{background:white;border:1px solid #e8eee5;border-radius:16px;padding:20px 22px;min-height:115px}.stat-label{font-size:.78rem;color:#7c8a80;font-weight:600}.stat-value{font:800 1.65rem Manrope,sans-serif;letter-spacing:-.06em;margin-top:9px}.stat small{color:#829287}.panel{background:white;border:1px solid #e7ede5;border-radius:17px;box-shadow:0 6px 26px #1d402509}.panel-pad{padding:24px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 24px;border-bottom:1px solid #edf0eb}.toolbar h2{margin:0}.filters{display:flex;gap:9px;flex-wrap:wrap}.field,.select{width:100%;border:1px solid #dce5db;border-radius:10px;background:white;color:#263e32;min-height:44px;padding:10px 12px;outline:none}.field:focus,.select:focus{border-color:#6e9d76;box-shadow:0 0 0 3px #d9efda}.filters .select,.filters .field{width:auto;min-width:130px;background:#f9faf7;font-size:.83rem}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:collapse;text-align:left}.table th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#94a199;font-weight:700;background:#fbfcfa;padding:13px 24px}.table td{padding:18px 24px;border-top:1px solid #f0f2ee;vertical-align:middle;font-size:.87rem}.table tr:hover td{background:#fcfdfb}.job-name{font-weight:700;font-size:.92rem;color:#20392d;display:block;margin-bottom:3px}.job-sub{color:#95a198;font-size:.77rem}.table .open-job{background:transparent;border:0;color:#246342;font-weight:700;padding:7px 0}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:100px;font-size:.75rem;font-weight:700;padding:6px 10px;white-space:nowrap}.badge:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.badge-new{color:#59736c;background:#edf2ee}.badge-in_progress{color:#2b764c;background:#e8f4e7}.badge-pending_summary{color:#a26b23;background:#fff2d9}.badge-completed{color:#4e726d;background:#e5f1f0}.empty{padding:46px 24px;text-align:center;color:#8a998e}.empty-symbol{font-size:2.3rem;color:#adc3a3;margin-bottom:12px}.empty strong{display:block;color:#30493a;font-size:1rem;margin-bottom:6px}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,46%) 1fr;background:#f5f7f2}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,7vw,115px);background:#fff}.auth-panel .brand{padding:0;color:#1c392a;margin-bottom:80px}.auth-panel .brand small{color:#86988b}.auth-panel h1{font-size:clamp(2rem,4vw,3rem)}.auth-panel p{color:#728177;margin-bottom:33px}.auth-art{background:#183a2d;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:70px}.auth-art:before,.auth-art:after{content:'';position:absolute;border:1px solid #83b48b65;border-radius:50%;width:900px;height:900px;right:-280px;top:-330px}.auth-art:after{width:660px;height:660px;right:-160px;top:-210px}.auth-art-inner{z-index:1;color:#eef8e5;max-width:500px}.auth-art h2{font-size:clamp(2.5rem,4.8vw,5rem);line-height:1.1}.auth-art p{color:#bdd0be;font-size:1.05rem;line-height:1.6}.auth-art .accent-line{width:66px;height:6px;border-radius:6px;background:#d7f07c;margin-bottom:27px}.auth-form{max-width:390px;width:100%}.form-group{margin-bottom:17px}.form-group label{display:block;font-size:.79rem;font-weight:700;color:#425a49;margin-bottom:7px}.form-hint{font-size:.74rem;color:#8b9a8f;margin-top:5px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-error{padding:11px 13px;background:#fff1ef;color:#aa413b;border:1px solid #f1d3cf;border-radius:9px;font-size:.84rem;margin:12px 0}.dialog-backdrop{position:fixed;inset:0;background:#12271dcc;z-index:30;display:grid;place-items:center;padding:18px}.dialog{background:white;border-radius:18px;width:min(100%,540px);max-height:92vh;overflow:auto;padding:27px;box-shadow:0 25px 80px #07160c45}.dialog-wide{width:min(100%,680px)}.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:20px}.dialog-head h2{margin:0}.icon-btn{background:#f3f6f1;border:0;border-radius:9px;width:32px;height:32px;font-size:1.2rem;color:#5f7466}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.back{border:0;background:transparent;color:#668273;padding:0 0 14px;font-weight:700}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.9fr);gap:20px}.detail-main,.detail-side{display:grid;gap:19px;align-content:start}.detail-description{line-height:1.7;white-space:pre-wrap;color:#516558}.info-list{display:grid;gap:16px}.info-item small{display:block;color:#8d9c91;font-size:.74rem;margin-bottom:5px}.info-item strong{font-size:.88rem}.timer-panel{background:#193d2e;color:white;border-radius:17px;padding:26px}.timer-panel .eyebrow{color:#a9c7ac;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700}.timer{font:800 clamp(2.6rem,5vw,3.5rem) Manrope,sans-serif;letter-spacing:-.06em;margin:10px 0 18px;font-variant-numeric:tabular-nums}.timer-panel p{color:#c5d7c8;font-size:.81rem;margin:0 0 16px}.timer-panel .btn{width:100%}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:16px 1fr;gap:11px;padding:0 0 18px;position:relative}.timeline-item:not(:last-child):before{content:'';position:absolute;top:12px;bottom:0;left:5px;width:1px;background:#e4eae3}.timeline-dot{width:11px;height:11px;border:2px solid #91b9a0;background:white;border-radius:50%;margin-top:4px;z-index:1}.timeline-item strong{font-size:.82rem}.timeline-item p{margin:3px 0;color:#849389;font-size:.74rem}.session-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eff2ed;padding:10px 0;font-size:.84rem}.session-row:last-child{border:0}.session-row small{display:block;color:#879589;margin-top:4px}.completion{padding:14px 0;border-bottom:1px solid #edf1e9}.completion:last-child{border-bottom:0;padding-bottom:0}.completion strong{font-size:.85rem}.completion p{font-size:.85rem;color:#526558;line-height:1.6;white-space:pre-wrap;margin:7px 0}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.photo-tile{display:block;border:1px solid #e5ebe3;border-radius:10px;overflow:hidden;aspect-ratio:1;background:#f7f9f4}.photo-tile img{width:100%;height:100%;object-fit:cover}.upload-zone{border:2px dashed #c9dbc7;border-radius:12px;padding:22px;text-align:center;background:#f8fbf5;cursor:pointer;color:#3b6948}.upload-zone input{display:none}.upload-zone strong{display:block;margin-bottom:4px}.upload-list{display:grid;gap:6px;margin-top:12px;font-size:.8rem;color:#57705d}.progress{width:100%;height:8px;border-radius:8px;overflow:hidden;background:#e6efe5;margin:13px 0}.progress span{display:block;height:100%;background:#76b887;transition:width .2s}.toast{position:fixed;bottom:24px;right:24px;z-index:60;max-width:340px;background:#173a2a;color:white;padding:13px 17px;border-radius:10px;box-shadow:0 12px 30px #0b271b35;opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s}.toast.visible{opacity:1;transform:none}.toast.error{background:#a13f38}.mobile-bar{display:none}.password-card{max-width:540px}.status-note{padding:12px 15px;background:#f4f8ee;border-radius:10px;color:#5c765f;font-size:.83rem;margin-bottom:18px}
@media(max-width:1050px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.auth-art{padding:40px}.auth-panel{padding:45px}}
@media(max-width:720px){.app-shell{display:block;padding-bottom:65px}.sidebar{display:none}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;height:65px;background:#18392b;color:#dcead9;align-items:center;justify-content:space-around;box-shadow:0 -8px 25px #203b2720}.mobile-bar button{background:transparent;border:0;color:inherit;display:grid;justify-items:center;gap:2px;font-size:.7rem;padding:7px 12px}.mobile-bar button.active{color:#d7f07c}.mobile-bar span{font-size:1.1rem}.workspace{padding:22px 15px 40px}.topline{margin-bottom:25px}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.8rem}.page-heading .btn{padding:9px 12px;font-size:.79rem}.stats{gap:9px}.stat{padding:15px;min-height:94px}.stat-value{font-size:1.35rem}.toolbar{align-items:stretch;flex-direction:column;padding:17px}.filters{display:grid;grid-template-columns:repeat(2,1fr)}.filters .select,.filters .field{width:100%;min-width:0}.table th,.table td{padding:13px 15px}.table th:nth-child(4),.table td:nth-child(4),.table th:nth-child(5),.table td:nth-child(5){display:none}.auth-page{display:block}.auth-panel{min-height:100vh;padding:35px 25px}.auth-panel .brand{margin-bottom:70px}.auth-art{display:none}.form-row{grid-template-columns:1fr}.dialog{padding:20px}.detail-head{display:block}.detail-head .badge{margin-top:8px}}

.camera-choice{display:inline-flex;align-items:center;min-height:40px;margin-top:8px;color:#285b43;font-weight:700;font-size:.82rem;cursor:pointer}.camera-choice input{display:none}

/* CleanApp blue and yellow identity; keep controls readable on light surfaces. */
:root{color:#12354d;background:#f4f9fd}
.sidebar,.mobile-bar{background:#08334f}
.nav button:hover,.nav button.active{background:#175d86}
.nav button{color:#c2dbe9}
.account{border-top-color:#286080}
.account span,.logout{color:#b9d5e4}
.brand-symbol{width:38px;height:38px;background:transparent;border-radius:0}
.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.avatar,.btn-accent{background:#fdf101;color:#17354a}
.btn-accent:hover{background:#efdf00}
.btn-primary{background:#0877b7;box-shadow:0 7px 16px #0877b726}
.btn-primary:hover{background:#075d93}
.btn-secondary{color:#125e8b;border-color:#d6e7f1}
.btn-secondary:hover{background:#f0f8fd}
.table .open-job,.btn-link,.back,.camera-choice{color:#086ca9}
.timer-panel,.auth-art{background:#08334f}
.timer-panel .eyebrow{color:#9bdcff}
.timer-panel p,.auth-art p{color:#c3dfec}
.auth-art:before,.auth-art:after{border-color:#2db4fe65}
.auth-art .accent-line{background:#fdf101}
.auth-panel .brand,.job-name,.empty strong{color:#12354d}
.auth-panel .brand small{color:#6d94aa}
.field:focus,.select:focus{border-color:#2db4fe;box-shadow:0 0 0 3px #d7efff}
.panel,.stat{border-color:#dfebf4}
.topline strong,.page-heading h1,.stat-value{color:#12354d}
.badge-new{color:#5a7b8d;background:#e9f1f6}
.badge-in_progress{color:#086ca9;background:#e1f3ff}
.badge-pending_summary{color:#8b7211;background:#fff9ce}
.badge-paused{color:#8b7211;background:#fff9ce}
.badge-completed{color:#426c86;background:#e4f2f9}
.toast{background:#08334f}
.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0;min-height:104px;border-color:#9fd9fa;background:#f0f9ff;color:#086ca9;line-height:1.4}
.upload-zone strong,.upload-zone span{display:block;max-width:100%}
.upload-zone span{overflow-wrap:anywhere}
.camera-choice{display:flex;width:max-content;max-width:100%;margin-top:10px}
.upload-list{color:#39769a}
.progress{background:#d9effc}
.progress span{background:#2db4fe}
@media(max-width:720px){.mobile-bar button.active{color:#fdf101}}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;min-width:180px}
@media(max-width:720px){.employees-table th:nth-child(5),.employees-table td:nth-child(5){display:table-cell}.employees-table th:nth-child(2),.employees-table td:nth-child(2){display:none}}
.auth-brand{display:flex;align-items:center;gap:18px;margin-bottom:46px;color:#12354d;font:800 1.3rem Manrope,sans-serif;letter-spacing:-.04em}
.auth-brand img{display:block;width:156px;height:auto;flex:none}
@media(max-width:720px){.auth-brand{gap:15px;margin-bottom:42px}.auth-brand img{width:128px}}
.timer-actions{display:grid;gap:10px}
@media(min-width:1051px){.stats{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1050px){.stats .stat:last-child{grid-column:span 2}}
.guest-shell{min-height:100vh;background:#f4f9fd}
.admin-detail-actions{display:grid;gap:9px;margin-top:20px}
.dialog #share-link{font-size:.83rem;overflow-wrap:anywhere}
@media(max-width:720px){.dialog-actions{flex-wrap:wrap}.dialog-actions .btn{flex:1}}
.investment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.investment-card{display:grid;gap:9px;text-align:left;padding:24px;color:#12354d;min-height:175px}
.investment-card:hover{border-color:#2db4fe;box-shadow:0 9px 27px #0877b71a}
.investment-card .eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#6793aa;font-weight:800}
.investment-card strong{font:800 1.18rem Manrope,sans-serif}
.investment-card small{font-size:.83rem;color:#648297}
.investment-card>span:last-child{align-self:end;font-size:.82rem;font-weight:700;color:#086ca9}
.investment-section+.investment-section{margin-top:32px}
.investment-section h2{margin-bottom:14px}
.investment-section-toggle{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 14px;padding:7px 0;border:0;background:transparent;color:#12354d;text-align:left;font:800 1.25rem Manrope,'DM Sans',sans-serif}
.investment-section-toggle:hover,.investment-section-toggle:focus-visible{color:#0877b7;outline:none}
.investment-section-toggle:focus-visible{box-shadow:0 2px #0877b7}
.investment-section-toggle small{margin-left:auto;color:#718a98;font:600 .78rem 'DM Sans',sans-serif}
.investment-section-caret{width:18px;color:#0877b7}
.admins-card{max-width:700px;margin-top:18px}
.admins-list{margin-bottom:24px;border-bottom:1px solid #e6edf0}
.admin-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #e6edf0;font-size:.86rem}
.admin-row span{color:#71807a;overflow-wrap:anywhere}
@media(max-width:480px){.admin-row{display:grid;gap:3px}}
.investment-card.is-completed{background:#f0f2f3;border-color:#dce2e4;color:#60717b;box-shadow:none}
.investment-card.is-completed .eyebrow,.investment-card.is-completed small,.investment-card.is-completed>span:last-child{color:#84939b}
.investment-closed-note{padding:14px 18px;margin-bottom:20px;border-radius:11px;background:#eef1f3;color:#536773;font-size:.88rem}
.workspace main>.panel+.panel,.guest-main>.panel+.panel{margin-top:18px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.section-heading h2{margin:0}
.area-list{display:grid;gap:8px}
.area-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:9px;padding-bottom:9px;border-bottom:1px solid #edf2f6;font-size:.84rem;color:#3d657e}
.area-row strong{font-size:.72rem;color:#0877b7;white-space:nowrap}
.area-tree{display:grid;gap:3px}
.area-hint{margin:5px 0 0}
.area-node{min-width:0}
.area-row{padding:4px 0}
.area-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:46px;padding:7px 10px;border:0;border-radius:9px;background:transparent;text-align:left;color:#234c61}
.area-toggle:hover,.area-toggle:focus-visible{background:#eef7fa;outline:none}
.area-caret{width:16px;flex:none;font-size:1.08rem;color:#1687b8}
.area-name{min-width:0;overflow-wrap:anywhere;font-weight:750}
.area-count{margin-left:auto;color:#7590a0;font-size:.75rem;white-space:nowrap}
.completion-progress{display:grid;gap:5px;min-width:150px;margin-top:8px;color:#315e70;font-size:.78rem;font-weight:800}
.completion-label{display:flex;justify-content:space-between;align-items:center}
.completion-label small{color:#7892a0;font-size:.72rem;font-weight:650}
.completion-track{display:block;height:7px;overflow:hidden;border-radius:8px;background:#e6f0f4}
.completion-track>span{display:block;height:100%;border-radius:inherit;background:#41a977;transition:width .2s ease}
.completion-progress.compact{min-width:112px;max-width:145px;flex:0 1 145px;margin:0 2px 0 8px}
.completion-progress.compact .completion-label{font-size:.72rem}
.completion-progress.compact .completion-track{height:5px}
.completion-empty{margin-top:8px;color:#8a9ba3;font-size:.76rem;font-weight:650}
.area-toggle .completion-progress.compact{display:grid}
.investment-card .completion-progress{width:100%;margin:0 0 2px}
.page-heading .completion-progress{max-width:280px}
.area-children{min-width:0;margin-left:18px;padding-left:17px;border-left:2px solid #dce9ee}
.area-empty{padding:10px 12px;margin:0}
.area-task-row{border-radius:8px;border-top:0;border-bottom:1px solid #edf2f6;padding:12px 14px}
.unassigned-tasks{margin-top:18px;padding-top:14px;border-top:1px solid #e6edf0}
.unassigned-tasks h3{margin-bottom:8px}
.area-tree-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #e6edf0}
.area-tree-footer .select{width:auto;min-width:170px}
@media(max-width:480px){.area-children{margin-left:9px;padding-left:9px}.area-toggle{gap:5px;padding:6px 3px}.area-count{font-size:.68rem}.area-row .btn-small{padding:5px 7px}.completion-progress.compact{min-width:58px;max-width:78px;flex-basis:78px;margin-left:4px}.completion-progress.compact .completion-label small{display:none}.completion-progress.compact .completion-track{height:4px}}
.heading-actions,.area-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.btn-small{min-height:34px;padding:5px 10px;font-size:.75rem}
.trash-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e8eee9}
.trash-row:last-child{border-bottom:0}
.trash-row strong,.trash-row small{display:block}
.trash-row small{color:#71807a;margin-top:3px}
@media(max-width:720px){.heading-actions{justify-content:flex-start}.area-row{align-items:flex-start}.area-actions{justify-content:flex-end}.trash-row{align-items:flex-start}.mobile-bar button{padding:7px 4px;min-width:0}}
.task-list{display:grid}
.task-row{display:grid;grid-template-columns:minmax(0,1fr) auto 90px 20px;align-items:center;gap:14px;width:100%;padding:16px 22px;border:0;border-top:1px solid #edf2f6;background:#fff;text-align:left;color:#12354d}
.task-row:hover{background:#f4faff}
.task-row strong,.task-row small{display:block}
.task-row strong{font-size:.9rem}
.task-row small{font-size:.74rem;color:#7b98a8;margin-top:4px}
.task-time{font-weight:700;font-variant-numeric:tabular-nums;font-size:.82rem;text-align:right}
.task-arrow{font-weight:800;color:#0877b7}
.access-list{display:grid;gap:8px}
.access-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf2f6}
.access-row strong,.access-row small{display:block}
.access-row strong{font-size:.86rem}
.access-row small{color:#7390a1;font-size:.74rem;margin-top:3px}
.report-list{display:grid;gap:0}
.report-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 130px;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f6;font-size:.84rem;align-items:center}
.brigade-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf2f6;font-size:.84rem}
.brigade-card strong{min-width:120px}.brigade-card span{color:#648297}.brigade-card button{margin-left:auto}
.correction-notice{padding:15px 17px;background:#fff1e3;border:1px solid #f5cfac;color:#8c451e;border-radius:12px;font-weight:700;margin-bottom:18px}
.badge-correction{color:#a54a25;background:#fff0e5}
.badge-approved{color:#225d3e;background:#dcf3e3}
.detail-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.connection-notice{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:13px 16px;margin-bottom:18px;border:1px solid #eccd89;border-radius:12px;background:#fff9e9;color:#765719;font-size:.85rem;font-weight:700}
.connection-notice .btn{min-height:34px;padding:6px 10px;font-size:.75rem}
.report-button{width:100%;border:0;background:transparent;text-align:left;color:#12354d;cursor:pointer}
.report-button:hover{background:#f4faff}
.brigade-investments{display:grid;gap:3px;flex-basis:100%;color:#648297}
@media(max-width:720px){.task-row{grid-template-columns:minmax(0,1fr) auto 18px;padding:14px;gap:8px}.task-time{display:none}.task-row .badge{font-size:.67rem}.report-row{grid-template-columns:minmax(0,1fr) auto}.report-row span:last-child{grid-column:2}.investment-grid{grid-template-columns:1fr}.mobile-bar button{padding:6px 4px;font-size:.63rem}.access-row .btn{padding:8px 10px;font-size:.72rem}}

/* CleanTime: logo CleanApp + napis */
.ct-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.ct-brand img{display:block;object-fit:contain}
.ct-brand-large{margin-bottom:56px}
.ct-brand-large img{width:72px;height:60px}
.ct-brand-small img{width:40px;height:34px}
.ct-wordmark{font:800 2rem Manrope,'DM Sans',sans-serif;letter-spacing:-.05em;color:#08334f;line-height:1}
.ct-brand-small .ct-wordmark{font-size:1.2rem}
.sidebar .ct-wordmark{color:#fff}
.ct-time{position:relative}
.ct-time:after{content:'';position:absolute;left:0;right:0;bottom:-.1em;height:.16em;border-radius:.1em;background:#fdf101}
/* Logowanie i 2FA */
.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#eef5fa;border-radius:12px;padding:5px;margin-bottom:22px}
.login-tabs button{border:0;background:transparent;border-radius:9px;padding:10px;font-weight:700;color:#4b6b80}
.login-tabs button.active{background:#fff;color:#08334f;box-shadow:0 2px 8px #08334f1a}
.pin-field{letter-spacing:.35em;font-variant-numeric:tabular-nums}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
.qr{display:block;width:220px;height:220px;image-rendering:pixelated;margin:0 0 18px;border:1px solid #d6e7f1;border-radius:12px}
.recovery-codes{background:#f4f9fd;border:1px solid #d6e7f1;border-radius:12px;padding:16px 20px;font:600 1.05rem ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.9;columns:2}
/* Widok wykonawcy */
.guest-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px clamp(15px,4vw,40px);background:#fff;border-bottom:1px solid #e3edf3}
.guest-user{display:grid;margin-left:auto;text-align:right}
.guest-user span{font-size:.78rem;color:#6d94aa}
.guest-nav{display:flex;gap:6px}
.guest-nav button{border:1px solid #d6e7f1;background:#fff;border-radius:10px;padding:8px 12px;font-weight:700;color:#125e8b}
.guest-nav button.active{background:#08334f;color:#fff;border-color:#08334f}
.guest-main{padding:22px clamp(15px,4vw,40px) 50px;max-width:1200px;margin:auto}
/* Klasy zastępujące style inline (CSP) */
.mt-s{margin-top:12px}
.mt-m{margin-top:20px}
.m-0{margin:0}
.note-tight{margin:10px 0 0}
.progress span{width:0}
@media(max-width:720px){.guest-user{margin-left:0;text-align:left;width:100%}.ct-brand-large{margin-bottom:40px}}
.badge-blocked{color:#a23c37;background:#fff1ef}
.row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.check-list{border:1px solid #d6e7f1;border-radius:10px;padding:12px 14px}
.check-list legend{font-size:.79rem;font-weight:700;color:#425a49;padding:0 6px}
.check-row{display:flex;gap:9px;align-items:center;padding:6px 0;font-size:.88rem}
.admin-row strong,.admin-row span{display:block}
