:root{--bg:#070908;--panel:#111513;--panel2:#171c19;--line:#29302c;--green:#54d899;--text:#f4f7f5;--muted:#8d9893;--danger:#ff756b;--warning:#f2be57;--sidebar:218px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}body{font-size:14px}a{color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#090b0a;border-right:1px solid #202522;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:22px 18px 20px;text-decoration:none;border-bottom:1px solid #202522;min-height:92px}.sidebar-brand img{width:92px;height:auto;display:block;object-fit:contain}.sidebar-brand span{font-size:9px;line-height:1.25;font-weight:900;letter-spacing:.13em;color:var(--green);max-width:82px;word-break:normal;overflow-wrap:break-word}.nav-stack{padding:20px 12px;display:grid;gap:7px}.nav-stack a{display:flex;align-items:center;gap:12px;padding:12px 13px;text-decoration:none;color:#d9dfdc;font-weight:700;font-size:12px;border-left:2px solid transparent}.nav-stack a:hover,.nav-stack a.active{background:#153225;border-left-color:var(--green);color:#fff}.nav-icon{color:var(--green);width:14px;text-align:center}.sidebar-bottom{margin-top:auto;border-top:1px solid #202522;padding:16px 15px 18px}.profile-mini{display:flex;align-items:center;gap:10px;margin-bottom:12px}.profile-dot{width:31px;height:31px;border-radius:50%;background:#163829;color:var(--green);display:grid;place-items:center;font-weight:900;border:1px solid #2f654d}.profile-mini b{display:block;font-size:11px}.profile-mini small{display:block;font-size:8px;color:#7d8883;text-transform:uppercase;letter-spacing:.1em;margin-top:3px}.nav-logout{border:0;background:transparent;color:#9ca6a1;padding:4px 0;cursor:pointer;font-weight:700}.app-main{margin-left:var(--sidebar);min-height:100vh}.content{max-width:1420px;margin:0 auto;padding:32px 38px 56px}.mobile-topbar{display:none}.dashboard-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.dashboard-head h1{margin:4px 0 5px;font-size:48px;line-height:.95;letter-spacing:-.055em}.dashboard-head p{margin:0;color:var(--muted)}.eyebrow{font-size:9px!important;color:var(--green)!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase}.today-chip{font-size:10px;color:#9ba6a0;background:#111513;border:1px solid #29302c;padding:10px 13px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:0;text-decoration:none;font-weight:900;font-size:10px;letter-spacing:.04em;cursor:pointer}.primary{background:var(--green);color:#07100b}.secondary{background:#1a211d;color:#fff;border:1px solid #323a35}.kpi-grid{display:grid;gap:12px;margin-bottom:18px}.kpi-grid.four{grid-template-columns:repeat(4,1fr)}.kpi-grid.three{grid-template-columns:repeat(3,1fr)}.kpi-card{background:linear-gradient(145deg,#171b19,#111412);border:1px solid #282e2b;padding:18px;min-height:138px;display:flex;flex-direction:column}.kpi-card>span:not(.kpi-icon){font-size:9px;color:#89938f;font-weight:900;letter-spacing:.08em;margin-top:10px}.kpi-icon{color:var(--green);font-size:21px}.kpi-card strong{font-size:27px;line-height:1;margin:9px 0 5px;letter-spacing:-.04em}.kpi-card small{color:#73807a;font-size:10px}.dark-panel{background:linear-gradient(145deg,#151917,#101311);border:1px solid #272e2a;box-shadow:0 16px 44px rgba(0,0,0,.18)}.panel-title-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-title-row h2{font-size:20px;margin:4px 0}.panel-title-row>a:not(.primary){font-size:10px;color:var(--green);font-weight:800;text-decoration:none}.time-capture-panel,.table-panel,.month-panel,.form-panel,.request-list{padding:22px}.time-summary-grid{display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:1px;background:#2a302d;border:1px solid #2a302d;margin-top:18px}.time-summary-grid div{background:#111412;padding:14px}.time-summary-grid span{display:block;font-size:8px;color:#77827d;text-transform:uppercase;letter-spacing:.09em}.time-summary-grid b{display:block;margin-top:6px;font-size:14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#8e9994;text-align:left;padding:11px 9px;border-bottom:1px solid #343a37}td{padding:12px 9px;border-bottom:1px solid #252b28;font-size:11px;color:#dbe0dd}tbody tr:hover{background:#161b18}.green-text{color:var(--green)!important}.warn-text{color:var(--warning)!important}.danger-text{color:var(--danger)!important}.image-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.image-action{height:190px;position:relative;overflow:hidden;text-decoration:none;background:#111}.image-action:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to top,rgba(3,5,4,.94),rgba(3,5,4,.06) 72%),var(--bgimg);background-size:cover;background-position:center;transition:transform .35s ease}.image-action:hover:before{transform:scale(1.04)}.image-action div{position:absolute;left:15px;right:15px;bottom:14px;display:grid;grid-template-columns:1fr auto;align-items:end}.image-action small{grid-column:1/-1;color:#a5afaa;font-size:9px}.image-action strong{font-size:17px}.image-action span{color:var(--green);font-size:22px}.close-hero{padding:26px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(90deg,rgba(8,10,9,.97),rgba(8,10,9,.83)),url('/static/img/bikepark-hero.jpg') center/cover}.close-hero h2{font-size:30px;margin:5px 0 7px;letter-spacing:-.04em}.close-hero h2 span{color:var(--green)}.close-hero p{color:#95a09a;max-width:750px;margin:0;font-size:12px}.feature-row{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap;color:#8f9a95;font-size:10px}.feature-row b{color:#fff}.entry-card{display:grid;grid-template-columns:.72fr 1.28fr;overflow:hidden;min-height:480px}.entry-visual{background:linear-gradient(to top,rgba(4,7,5,.7),rgba(4,7,5,.05)),url('/static/img/bikepark-02.jpg') center/cover}.entry-form-wrap{padding:28px}.entry-form-wrap h2{font-size:27px;margin:4px 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid.single{grid-template-columns:1fr}.form-grid label,.month-filter label{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#9ea9a3;font-weight:900}.form-grid input,.form-grid textarea,.form-grid select,.month-filter input,.month-filter select{width:100%;margin-top:7px;background:#0c0f0d;border:1px solid #343b37;color:#fff;padding:12px}.form-grid textarea{min-height:90px;resize:vertical}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.month-filter input:focus,.month-filter select:focus{outline:1px solid var(--green);border-color:var(--green)}.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.month-filter{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding-bottom:18px}.month-filter input,.month-filter select{width:125px;padding:10px}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:7px;background:#65706a}.status-dot.ok{background:var(--green);box-shadow:0 0 0 3px rgba(84,216,153,.08)}.status-dot.warn{background:var(--warning)}.status-dot.closed{background:#71aaff}.export-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #2a302d;margin-top:18px;padding:21px 0 2px}.export-bar h3{font-size:20px;margin:4px 0}.export-bar p{font-size:11px;color:#8d9893;margin:0;max-width:720px}.request-row{padding:14px 0;border-bottom:1px solid #29302c}.request-row p{font-size:12px}.request-row small{color:#78847e}.pill{display:inline-block;padding:4px 7px;border-radius:12px;background:#222825;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.pill.open{background:#332b19;color:#f2be57}.pill.approved{background:#173325;color:var(--green)}.pill.rejected{background:#341d1c;color:#ff8277}.alert{background:#371b18;border-left:3px solid var(--danger);color:#ffd5d1;padding:11px 13px;margin:12px 0;font-size:12px}.login-page-v3{min-height:100vh;position:relative;display:grid;place-items:center;background:#040605;overflow:hidden}.login-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.28)),linear-gradient(to top,rgba(0,0,0,.62),transparent),url('/static/img/bikepark-hero.jpg');background-size:cover;background-position:center;filter:saturate(.7) brightness(.72);transform:scale(1.03)}.login-overlay-card{position:relative;z-index:2;width:min(430px,calc(100vw - 34px));padding:34px;background:rgba(9,12,10,.93);border:1px solid #343a37;box-shadow:0 25px 80px rgba(0,0,0,.5);backdrop-filter:blur(8px);text-align:center}.login-logo{width:170px;height:auto;filter:none}.login-portal-label{color:var(--green);font-size:10px;font-weight:900;letter-spacing:.12em;margin:4px 0 22px}.login-overlay-card h1{font-size:17px;margin:0 0 18px}.login-form-v3{display:grid;gap:12px;text-align:left}.login-form-v3 input{width:100%;padding:12px 13px;background:#101311;border:1px solid #393f3c;color:#fff}.demo{color:#69756f;font-size:9px;line-height:1.5;margin:15px 0 0}.login-features{position:absolute;z-index:2;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(6,9,7,.88);border-top:1px solid #232825}.login-features span{padding:14px;text-align:center;font-size:9px;color:#8f9a95;border-right:1px solid #232825}.login-features b{color:var(--green);margin-right:7px}.login-features span:last-child{border-right:0}.action-row{display:flex;gap:8px;flex-wrap:wrap}.compact-form{display:flex;gap:6px;align-items:center}.compact-form button{min-height:30px;padding:0 10px}.subtle{color:#74807a;font-size:10px}.section-gap{margin-top:18px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #2a302d;background:#2a302d;gap:1px;margin-top:18px}.summary-strip>div{background:#111412;padding:14px}.summary-strip small{display:block;color:#7d8883;text-transform:uppercase;font-size:8px;letter-spacing:.08em}.summary-strip b{display:block;margin-top:4px;font-size:15px}.footer-note{color:#6f7b75;font-size:9px;margin-top:18px}.locked-banner{padding:11px 13px;background:#14251d;border:1px solid #28533f;color:#bcefd5;margin-bottom:16px;font-size:11px}
@media(max-width:1000px){.app-sidebar{display:none}.app-main{margin-left:0}.mobile-topbar{display:flex;height:64px;padding:0 17px;border-bottom:1px solid #232825;background:#080a09;align-items:center;justify-content:space-between}.mobile-topbar img{width:90px}.mobile-topbar span{font-size:9px;color:var(--green);font-weight:900;letter-spacing:.1em}.content{padding:24px 17px 45px}.kpi-grid.four,.kpi-grid.three,.image-action-grid,.two-col{grid-template-columns:1fr 1fr}.entry-card{grid-template-columns:1fr}.entry-visual{height:220px}.close-hero,.export-bar{align-items:flex-start;flex-direction:column}.login-features{display:none}.summary-strip{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-head h1{font-size:40px}.kpi-grid.four,.kpi-grid.three,.image-action-grid,.two-col,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.time-summary-grid,.summary-strip{grid-template-columns:1fr}.panel-title-row{align-items:flex-start;flex-direction:column}.entry-form-wrap{padding:21px}.image-action{height:165px}.today-chip{display:none}}

.notice{margin:0 0 18px;padding:12px 14px;border:1px solid #24312b;background:#101612;border-radius:8px}.notice.success{border-color:#2f7d59;color:#8cf0bb}.notice.error{border-color:#8a3c3c;color:#ffaaaa}.subline{display:block;color:#7f8b85;margin-top:4px}.table-link{color:#54d899;text-decoration:none;font-weight:800;font-size:12px;letter-spacing:.04em}.small-btn{padding:8px 10px;font-size:11px}.wide-form{max-width:920px}.checkline{display:flex!important;align-items:center;gap:10px}.checkline input{width:auto!important}.pill.approved{color:#69e6a3}.pill.rejected{color:#ff8e8e}
.compact-edit{display:grid;grid-template-columns:88px 88px 74px 100px minmax(130px,1fr) auto;gap:6px;align-items:center}.compact-edit input,.compact-edit select{background:#0c0f0d;border:1px solid #343b37;color:#fff;padding:7px;min-width:0}.primary:disabled,.secondary:disabled{opacity:.35;cursor:not-allowed}.sidebar-brand{overflow:hidden}.sidebar-brand span{white-space:normal;overflow-wrap:normal;word-break:keep-all}.nav-stack{overflow:auto}.form-grid input[type=file]{padding:9px}.month-panel .pill{margin:2px}
@media(max-width:1200px){.compact-edit{grid-template-columns:80px 80px 70px 90px 120px auto}}

.live-start-form{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.live-start-form select,.live-start-form input{background:#0c0f0d;border:1px solid #343b37;color:#fff;padding:9px;min-width:170px}
.profile-photo-panel{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;margin-bottom:22px}.employee-photo-wrap{display:flex;align-items:center;justify-content:center}.employee-photo-large,.employee-photo-placeholder{width:150px;height:150px;border-radius:18px;object-fit:cover;border:1px solid #29352f;background:#111614}.employee-photo-placeholder{display:flex;align-items:center;justify-content:center;font-size:2.6rem;font-weight:800;color:#54d899}.photo-upload-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.profile-photo-mini{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #2c3933}@media(max-width:700px){.profile-photo-panel{grid-template-columns:1fr}.employee-photo-wrap{justify-content:flex-start}}
.employee-greeting{display:flex;align-items:center;gap:18px}.dashboard-profile-photo,.dashboard-profile-placeholder{width:76px;height:76px;border-radius:18px;object-fit:cover;border:1px solid #29352f;background:#111614}.dashboard-profile-placeholder{display:flex;align-items:center;justify-content:center;color:#54d899;font-size:1.5rem;font-weight:800}@media(max-width:700px){.employee-greeting{align-items:flex-start}.dashboard-profile-photo,.dashboard-profile-placeholder{width:58px;height:58px}}

.subform-block{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:18px;background:#0d110f;border:1px solid #2d3631;margin-top:18px}.subform-heading{grid-column:1/-1;padding-bottom:4px}.subform-heading h2{margin:3px 0 5px;font-size:20px}.subform-heading p:not(.eyebrow){margin:0;color:#819089;font-size:10px}.access-block{border-color:#28533f;background:linear-gradient(145deg,#102019,#0d110f)}
@media(max-width:650px){.subform-block{grid-template-columns:1fr}.subform-block .span-2,.subform-heading{grid-column:auto}}
/* v2.1 Quick Time + PWA */
.nav-section-label{padding:16px 14px 5px;color:#68756f;font-size:8px;font-weight:900;letter-spacing:.12em}.quick-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.quick-head h1{font-size:48px;margin:3px 0}.quick-head p{color:#88958f;margin:0}.quick-clock{font-size:42px;font-weight:900;color:var(--green);letter-spacing:-.04em}.quick-panel{background:linear-gradient(135deg,#0c120f,#070908);border:1px solid #2b3530;padding:22px}.quick-status{display:flex;gap:1px;background:#26302b;border:1px solid #26302b;margin-bottom:18px}.quick-status>div{flex:1;background:#101512;padding:13px}.quick-status small{display:block;color:#819088;font-size:8px;letter-spacing:.1em}.quick-status b{display:block;margin-top:4px;font-size:18px}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-action-form{display:grid;gap:7px}.quick-action-form.wide{grid-column:span 2}.quick-action-form select{width:100%;background:#0c0f0d;color:#fff;border:1px solid #36413b;padding:10px}.quick-btn{min-height:64px;border:0;padding:12px 16px;font-weight:900;font-size:14px;cursor:pointer}.quick-btn.travel{background:#193025;color:#7df2b3;border:1px solid #315842}.quick-btn.work{background:var(--green);color:#07110c}.quick-btn.pause{background:#2d2a1b;color:#ffd976;border:1px solid #5d532c}.quick-btn.end{background:#351c1b;color:#ff9289;border:1px solid #69312d}.quick-btn.secondary-travel{background:#14221c}.month-nav{display:flex;gap:7px}.calendar-summary{display:flex;gap:18px;flex-wrap:wrap;color:#8a9690;margin-bottom:12px}.calendar-summary b{color:#fff;margin-left:5px}.month-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-head{text-align:center;color:#68756f;font-size:9px;font-weight:900;padding:6px}.cal-day{min-height:92px;background:#0e1210;border:1px solid #252e29;padding:9px;color:#fff;text-decoration:none;display:flex;flex-direction:column;gap:4px}.cal-day:hover{border-color:#3d7b5e}.cal-day.today{outline:2px solid var(--green)}.cal-day.has-entry{background:#111a15}.cal-day.empty{opacity:.28}.cal-number{font-size:11px;color:#84918b}.cal-day b{font-size:15px;margin-top:auto}.cal-day small{font-size:9px;color:#7f8b85}.cal-day .cal-absence{color:#e6ca6a}.travel-pill{background:#173025;color:#7df2b3}.entry-visual{background-image:linear-gradient(to top,rgba(4,7,5,.7),rgba(4,7,5,.05)),image-set(url('/static/img/bikepark-02.jpg') 1x,url('/static/img/bikepark-02@2x.webp') 2x)}.login-photo{background-image:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.28)),linear-gradient(to top,rgba(0,0,0,.62),transparent),image-set(url('/static/img/bikepark-hero.jpg') 1x,url('/static/img/bikepark-hero@2x.webp') 2x)}
@media(max-width:800px){.quick-head h1{font-size:38px}.quick-clock{font-size:28px}.quick-actions{grid-template-columns:1fr}.quick-action-form.wide{grid-column:auto}.month-calendar{gap:2px}.cal-day{min-height:68px;padding:6px}.cal-day b{font-size:12px}.cal-day small{font-size:8px}.quick-status{display:grid;grid-template-columns:1fr 1fr}.quick-status>div:first-child{grid-column:1/-1}}

/* v2.1.1 - clearer live status, documentation and mobile workflow */
.mobile-links{display:flex;gap:10px}.mobile-links a{font-size:10px;color:#cfd8d3;text-decoration:none;font-weight:800}.negative-text{color:#ff8e8e}.employee-master-grid{grid-template-columns:minmax(0,1.65fr) minmax(360px,.7fr)}
.live-status-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:22px 24px;margin-bottom:18px;border:1px solid #315842;background:linear-gradient(135deg,#13291f,#0d1712);box-shadow:inset 4px 0 0 var(--green)}.live-status-hero.is-idle{border-color:#35413b;box-shadow:inset 4px 0 0 #69766f;background:linear-gradient(135deg,#151917,#0d100f)}.live-status-hero.is-pause{border-color:#665d35;box-shadow:inset 4px 0 0 #f2be57;background:linear-gradient(135deg,#242014,#11100b)}.live-status-hero.is-travel{border-color:#315842;box-shadow:inset 4px 0 0 #7df2b3}.live-status-kicker{display:block;font-size:9px;color:#8f9b95;letter-spacing:.14em;font-weight:900;margin-bottom:5px}.live-status-main strong{display:block;font-size:31px;line-height:1.05;letter-spacing:-.04em}.live-status-project{display:block;color:#aebbb4;font-size:12px;margin-top:8px}.live-status-time{min-width:150px;text-align:right}.live-status-time small,.live-status-time span{display:block;color:#829089;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.live-status-time b{display:block;color:var(--green);font-size:32px;letter-spacing:-.04em;margin:3px 0}.is-pause .live-status-time b{color:#f2be57}.is-idle .live-status-time b{color:#8a9690}.next-action-label{font-size:9px;color:#75827c;font-weight:900;letter-spacing:.13em;margin:3px 0 10px}.quick-actions-v211{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions-v211 .quick-btn{width:100%}.quick-panel-v211{padding:18px}.quick-doc-box{margin-top:18px;border-top:1px solid #29332e;padding-top:15px}.quick-doc-box>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#111714;border:1px solid #2b3731;padding:13px 15px}.quick-doc-box>summary::-webkit-details-marker{display:none}.quick-doc-box>summary span{font-weight:900;color:#dff8ea}.quick-doc-box>summary small{font-size:9px;color:#74827b}.quick-doc-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px;background:#0c100e;border:1px solid #29322e;border-top:0}.quick-doc-form label,.quick-doc-external label,.doc-filter-grid label,.doc-status-form label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#98a59f;font-weight:900}.quick-doc-form input,.quick-doc-form textarea,.quick-doc-form select,.quick-doc-external input,.quick-doc-external select,.doc-filter-grid input,.doc-filter-grid select,.doc-status-form input,.doc-status-form select{width:100%;margin-top:6px;background:#080b09;color:#fff;border:1px solid #354039;padding:10px}.quick-doc-form textarea{min-height:92px;resize:vertical}.external-details{border:1px solid #27322d;padding:10px}.external-details>summary{cursor:pointer;color:#b6c2bc;font-size:10px;font-weight:800}.quick-doc-external{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.doc-filter-panel{padding:16px}.doc-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end}.doc-filter-actions{display:flex;gap:7px;align-items:end}.doc-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#29302c;border:1px solid #29302c;margin-top:14px}.doc-summary-strip>div{background:#101412;padding:13px}.doc-summary-strip small{display:block;color:#7e8a84;text-transform:uppercase;font-size:8px;letter-spacing:.08em}.doc-summary-strip b{display:block;font-size:20px;margin-top:3px}.doc-list{display:grid;gap:14px}.doc-card{background:#101412;border:1px solid #29312d;padding:18px}.doc-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.doc-card-head h2{font-size:20px;margin:5px 0}.doc-card-head p{font-size:10px;color:#7e8a84;margin:0}.doc-category{font-size:9px;color:var(--green);font-weight:900;letter-spacing:.1em;text-transform:uppercase}.doc-status{display:inline-block;padding:6px 9px;border-radius:14px;font-size:8px;text-transform:uppercase;font-weight:900;white-space:nowrap}.doc-status.open{background:#332b19;color:#f2be57}.doc-status.in_progress{background:#182a3b;color:#8ec4ff}.doc-status.done{background:#173325;color:#6ee6a5}.doc-text{white-space:pre-wrap;line-height:1.55;margin-top:14px;font-size:13px;color:#e2e8e5}.doc-external,.doc-completion{margin-top:12px;padding:11px 12px;background:#151b18;border-left:3px solid #5a6a62;color:#bdc7c2;font-size:11px}.doc-completion{border-left-color:var(--green)}.doc-completion small{display:block;color:#75817b;margin-top:4px}.doc-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:13px}.doc-gallery a{display:block;aspect-ratio:4/3;background:#080a09;overflow:hidden;border:1px solid #2c3731}.doc-gallery img{width:100%;height:100%;object-fit:cover;display:block}.doc-status-form{display:flex;gap:8px;align-items:end;margin-top:14px;padding-top:13px;border-top:1px solid #28302c}.doc-status-form .grow{flex:1}.doc-status-form button{min-height:38px}.empty-state{padding:28px}.empty-state h2{margin-top:0}
/* The previous photographic backgrounds were intrinsically low-resolution. Keep the portal crisp until original high-resolution project photos are supplied. */
.entry-visual{background-image:radial-gradient(circle at 30% 30%,rgba(84,216,153,.28),transparent 34%),linear-gradient(145deg,#18231e,#080b09 60%,#101712)!important;position:relative}.entry-visual:after{content:'BIG AIR';position:absolute;left:28px;bottom:26px;color:rgba(255,255,255,.88);font-size:32px;font-weight:900;letter-spacing:.04em}.login-photo{background-image:radial-gradient(circle at 75% 18%,rgba(84,216,153,.28),transparent 26%),radial-gradient(circle at 20% 75%,rgba(84,216,153,.12),transparent 30%),linear-gradient(135deg,#101713,#030504 68%)!important;filter:none!important;transform:none!important}.login-photo:after{content:'';position:absolute;inset:0;background-image:linear-gradient(120deg,transparent 0 46%,rgba(84,216,153,.06) 46% 47%,transparent 47% 100%);background-size:42px 42px}
@media(max-width:1100px){.employee-master-grid{grid-template-columns:1fr}.doc-filter-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.doc-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.live-status-hero{grid-template-columns:1fr;padding:18px}.live-status-main strong{font-size:27px}.live-status-time{text-align:left;min-width:0;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:end}.live-status-time small{grid-column:1/-1}.live-status-time b{font-size:30px}.quick-actions-v211{grid-template-columns:1fr}.quick-doc-box>summary{align-items:flex-start;flex-direction:column}.quick-doc-form,.quick-doc-external{grid-template-columns:1fr}.quick-doc-form .span-2,.quick-doc-external .span-2{grid-column:auto}.doc-filter-grid{grid-template-columns:1fr}.doc-summary-strip{grid-template-columns:1fr 1fr}.doc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.doc-status-form{flex-direction:column;align-items:stretch}.doc-card-head{flex-direction:column}.mobile-links{display:flex}}
/* Avoid displaying the old low-detail dashboard photos; crisp CI surfaces replace them until real high-res originals are available. */
.image-action:before{background-image:radial-gradient(circle at 70% 22%,rgba(84,216,153,.28),transparent 28%),linear-gradient(145deg,#18251f,#080b09 68%)!important}.image-action:nth-child(2):before{background-image:radial-gradient(circle at 24% 28%,rgba(84,216,153,.22),transparent 28%),linear-gradient(135deg,#10241a,#080b09 70%)!important}.image-action:nth-child(3):before{background-image:linear-gradient(135deg,rgba(84,216,153,.14),transparent 42%),linear-gradient(145deg,#19211d,#080b09 70%)!important}.close-hero{background:radial-gradient(circle at 80% 25%,rgba(84,216,153,.16),transparent 26%),linear-gradient(90deg,#0b100d,#111914)!important}

/* v2.1.2 - mobile timer, cost-center editing, calendar detail and 2FA keypad */
.live-status-time b,.quick-clock{white-space:nowrap;font-variant-numeric:tabular-nums;word-break:keep-all;overflow-wrap:normal}
.table-input{width:100%;min-width:96px;background:#0c0f0d;border:1px solid #343b37;color:#fff;padding:8px}.code-input{min-width:78px;max-width:110px;font-variant-numeric:tabular-nums}.compact-check{white-space:nowrap}
.totp-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.totp-key{min-height:52px;border:1px solid #34413a;background:#151b18;color:#fff;font-size:20px;font-weight:900;cursor:pointer}.totp-key:active{background:#234635}.totp-clear,.totp-back{color:var(--green)}#totp-code{text-align:center;font-size:28px;letter-spacing:.32em;font-variant-numeric:tabular-nums}
@media(max-width:800px){.live-status-hero{grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:15px}.live-status-main{min-width:0}.live-status-main strong{font-size:clamp(20px,6.2vw,27px)}.live-status-project{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-status-time{display:block;text-align:right;min-width:auto;max-width:42vw}.live-status-time small,.live-status-time span{font-size:7px}.live-status-time b{font-size:clamp(22px,8vw,30px);line-height:1;letter-spacing:-.06em}.month-calendar{overflow:hidden}.cal-day{min-width:0}.cal-day b,.cal-day small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:390px){.live-status-hero{padding:12px;gap:7px}.live-status-main strong{font-size:19px}.live-status-time b{font-size:23px}.live-status-project{font-size:10px}.totp-key{min-height:48px}}

/* v2.1.3 */
.subnav{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 18px}.subnav a{padding:10px 14px;border:1px solid #29332f;border-radius:12px;color:#dbe4df;text-decoration:none;background:#101412}.favorite-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 14px;color:#9ba9a2}.table-search,.select-filter{width:100%;max-width:520px;margin:0 0 10px;padding:11px 12px;border-radius:10px;border:1px solid #2e3a35;background:#0b0f0d;color:#fff}.quick-select-label{display:flex;flex-direction:column;gap:6px}.live-status-time b{white-space:nowrap}.warning-box a{color:#54d899;font-weight:700}.entry-card .entry-form-wrap{width:100%}@media(max-width:640px){.live-status-hero{grid-template-columns:minmax(0,1fr) auto;gap:10px}.live-status-time{min-width:84px}.live-status-time b{font-size:1.65rem;white-space:nowrap}.quick-head{align-items:flex-start}.quick-clock{white-space:nowrap}}

/* v2.1.3.2 - stale time resolution */
.stale-resolve-card{margin:0 0 18px;padding:22px;border:1px solid rgba(84,216,153,.35)}
.stale-resolve-card h2{margin:.2rem 0 .55rem}
.stale-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.stale-facts>div{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}
.stale-facts small{display:block;opacity:.65;margin-bottom:5px}.stale-facts b{display:block;line-height:1.25}
.stale-inline-close{margin:16px 0 0}
.stale-inline-close p{margin:.45rem 0 1rem}
@media(max-width:700px){.stale-facts{grid-template-columns:1fr 1fr}.stale-resolve-card{padding:16px}.stale-resolve-form .form-actions{display:grid;grid-template-columns:1fr;gap:10px}.stale-resolve-form .form-actions .primary,.stale-resolve-form .form-actions .secondary{width:100%;text-align:center}}

/* v2.1.4 - mobile-first quick capture and documentation */
.quick-head-v214{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.quick-head-v214 h1{font-size:clamp(42px,7vw,68px);letter-spacing:-.055em;margin:4px 0}.quick-head-v214 p{color:#a8b2ad;margin:0}.quick-clock-wrap{text-align:right}.quick-clock-wrap .quick-clock{font-size:clamp(38px,6vw,64px);font-weight:900;color:var(--green);letter-spacing:-.05em}.quick-clock-wrap small{color:#aab4af}.quick-v214-shell{max-width:980px;margin:0 auto}.live-status-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px;border:1px solid #1e8d64;border-radius:18px;background:radial-gradient(circle at 18% 50%,rgba(84,216,153,.13),transparent 32%),linear-gradient(135deg,#0c1712,#07100d);box-shadow:0 20px 60px rgba(0,0,0,.22)}.live-copy{display:flex;gap:15px;align-items:center;min-width:0}.status-dot-v214{width:15px;height:15px;border-radius:50%;background:var(--green);box-shadow:0 0 24px rgba(84,216,153,.55);flex:0 0 auto}.live-copy small,.live-duration small,.live-duration span{font-size:10px;letter-spacing:.14em;color:#a8b7b0;font-weight:800}.live-copy h2{font-size:34px;line-height:1;margin:7px 0}.live-copy p{margin:0;color:#bac5c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-duration{text-align:right}.live-duration b{display:block;color:var(--green);font-size:48px;line-height:1;font-variant-numeric:tabular-nums}.next-action-card,.timeline-card{margin-top:18px;border:1px solid #26342e;border-radius:18px;background:linear-gradient(145deg,#0d1210,#090c0b);padding:18px}.section-kicker,.compose-label{font-size:10px;letter-spacing:.14em;color:#aab8b1;font-weight:900;margin-bottom:12px}.action-expander{border:1px solid #314139;border-radius:14px;background:#0d1411;margin-bottom:10px;overflow:hidden}.action-expander>summary{list-style:none;cursor:pointer;padding:15px 17px;display:flex;flex-direction:column;gap:4px}.action-expander>summary::-webkit-details-marker{display:none}.action-expander>summary strong{font-size:18px}.action-expander>summary span{color:#9ba8a2;font-size:11px}.target-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 12px}.target-card,.target-inline-form{display:grid;gap:10px;border:1px solid #26362f;border-radius:12px;background:#0a0f0d;padding:14px}.target-card h3{margin:0;font-size:15px}.target-card p{margin:0;color:#8e9c95;font-size:11px;line-height:1.4}.target-card label,.target-inline-form label{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#9aa8a1;font-weight:900}.target-card input,.target-card select,.target-inline-form input,.target-inline-form select,.doc-compose-form input,.doc-compose-form select,.doc-compose-form textarea{width:100%;margin-top:6px;background:#07100c;border:1px solid #34473e;border-radius:9px;color:#fff;padding:11px}.quick-primary{width:100%;min-height:58px;border:0;border-radius:12px;background:linear-gradient(90deg,#50e7ad,#54efbc);color:#05100b;font-weight:950;font-size:16px;cursor:pointer}.quick-primary.travel{background:linear-gradient(90deg,#49ddab,#69f0c1)}.skip-travel{width:100%;min-height:44px;border-radius:10px}.secondary-actions-v214{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.secondary-actions-v214 form{margin:0}.action-secondary{width:100%;min-height:52px;border-radius:11px;background:#101814;color:#fff;border:1px solid #3a4942;font-weight:800}.action-secondary.pause{color:#f5d84a;border-color:#a48521}.action-secondary.return{color:#7dc9ff;border-color:#2879ad}.action-secondary.end{color:#ff7979;border-color:#c9303b}.doc-launch-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:16px;padding:16px;border:1px solid #2b3a33;border-radius:16px;background:#0d1311;text-decoration:none}.doc-launch-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#16231e;font-size:23px}.doc-launch-card strong{display:block;font-size:17px}.doc-launch-card span{display:block;color:#9ba7a1;font-size:11px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-launch-card>b{font-size:34px;font-weight:300}.timeline-head{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-size:11px;letter-spacing:.1em}.timeline-head small{color:#9ba7a1}.timeline-list{margin-top:10px}.timeline-row{display:grid;grid-template-columns:94px 145px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #223029}.timeline-state{display:inline-flex;justify-content:center;border-radius:20px;padding:5px 8px;background:#153a2a;color:#62e8ad;font-size:10px}.timeline-row.current .timeline-state{background:#123c5e;color:#7bcaff}.timeline-context{color:#aab5b0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-time{font-variant-numeric:tabular-nums}.timeline-empty{padding:18px 0;color:#8b9892;font-size:11px}
.doc-mobile-head{max-width:920px;margin:0 auto 18px}.doc-mobile-head h1{font-size:clamp(40px,7vw,62px);margin:4px 0;letter-spacing:-.05em}.doc-mobile-head p{color:#a2ada7;margin:0}.doc-compose-form,.doc-compose-card{max-width:920px;margin-left:auto;margin-right:auto}.doc-compose-card{border:1px solid #2a3b33;border-radius:16px;background:linear-gradient(145deg,#0e1512,#0a0e0c);padding:16px;margin-bottom:12px}.context-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border-color:#21865f}.context-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#0c3023;font-size:25px}.context-copy small{font-size:9px;letter-spacing:.15em;color:#b0bcb6}.context-copy h2{font-size:23px;margin:4px 0}.context-copy p{margin:0;color:#a3aea8}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.category-choice input{position:absolute;opacity:0;pointer-events:none}.category-choice span{display:flex;justify-content:center;align-items:center;min-height:48px;padding:8px;border:1px solid #3a4a43;border-radius:9px;background:#101815;color:#dce5e0;text-align:center;font-size:11px;cursor:pointer}.category-choice input:checked+span{background:linear-gradient(90deg,#53e9b1,#6cf3c3);border-color:#61efbc;color:#05100b;font-weight:900}.field-card label{display:block}.field-card small{font-size:9px;letter-spacing:.13em;color:#b0bbb6;font-weight:900}.photo-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.photo-head small{color:#9ba8a1}.doc-edit-gallery,.upload-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:10px}.photo-existing,.upload-preview-item{position:relative;aspect-ratio:1/1;border-radius:10px;overflow:hidden;border:1px solid #35463e;background:#070a09}.photo-existing img,.upload-preview-item img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;right:5px;top:5px;width:28px;height:28px;border-radius:50%;border:1px solid #728179;background:#0b0f0ddd;color:#fff;font-size:18px}.photo-add{display:flex;align-items:center;justify-content:center;gap:8px;min-height:70px;border:1px dashed #2bc48a;border-radius:11px;color:var(--green);cursor:pointer}.photo-add input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.assignment-card>p{color:#97a59e;font-size:11px}.assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assignment-grid label{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#9eaaa4;font-weight:900}.doc-save-actions{max-width:920px;margin:10px auto 30px;display:grid;grid-template-columns:2fr 1fr;gap:10px}.doc-save{min-height:58px;border-radius:11px}.doc-links-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.doc-links-summary span{font-size:9px;background:#151d19;border:1px solid #2d3a34;border-radius:12px;padding:5px 8px;color:#b5c0ba}.doc-card-actions{margin-top:12px;display:flex;justify-content:flex-end}
@media(max-width:800px){.content{padding-left:14px;padding-right:14px}.quick-head-v214{align-items:flex-start}.quick-head-v214 h1{font-size:46px}.quick-clock-wrap .quick-clock{font-size:42px}.live-status-card{padding:16px}.live-copy h2{font-size:26px}.live-duration b{font-size:36px}.target-choice-grid{grid-template-columns:1fr}.secondary-actions-v214{grid-template-columns:1fr 1fr 1fr}.timeline-row{grid-template-columns:78px 112px minmax(0,1fr);gap:8px}.timeline-time{grid-column:2/-1;color:#8f9b95}.category-grid{grid-template-columns:1fr 1fr}.doc-edit-gallery,.upload-preview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.quick-head-v214{display:grid;grid-template-columns:1fr auto}.quick-head-v214 h1{font-size:42px}.quick-head-v214>div:first-child>p:last-child{grid-column:1/-1}.quick-clock-wrap .quick-clock{font-size:36px}.quick-clock-wrap small{font-size:9px}.live-status-card{grid-template-columns:minmax(0,1fr) auto;gap:8px}.live-copy{gap:9px}.status-dot-v214{width:11px;height:11px}.live-copy small{font-size:8px}.live-copy h2{font-size:24px}.live-copy p{max-width:52vw;font-size:11px}.live-duration b{font-size:31px}.live-duration small,.live-duration span{font-size:7px}.next-action-card,.timeline-card{padding:12px}.secondary-actions-v214{grid-template-columns:1fr}.timeline-row{grid-template-columns:72px minmax(0,1fr);gap:7px}.timeline-type{font-size:11px}.timeline-context{grid-column:2}.timeline-time{grid-column:2}.assignment-grid{grid-template-columns:1fr}.assignment-grid .full-width{grid-column:auto}.doc-edit-gallery,.upload-preview{grid-template-columns:repeat(3,1fr)}.doc-save-actions{grid-template-columns:1fr}.context-copy h2{font-size:20px}}

/* ==============================================================
   v2.1.4.1 VISUAL HOTFIX
   Mockup-faithful mobile-first skin. Domain logic remains v2.1.4.
   ============================================================== */
:root{
  --ba-mint:#50f0b5;
  --ba-mint-2:#35df9e;
  --ba-ink:#050908;
  --ba-card:#0a1110;
  --ba-card-2:#0c1513;
  --ba-line:#263a34;
  --ba-line-soft:#1c2a26;
  --ba-copy:#f4f7f5;
  --ba-muted:#a6b1bd;
  --ba-blue:#58baff;
  --ba-yellow:#ffd944;
  --ba-red:#ff606b;
}
body{background:radial-gradient(circle at 46% -15%,#10221d 0,#070b0a 34%,#050706 70%);}
.quick-v214-shell,.doc-mobile-head,.doc-compose-form,.doc-compose-card,.doc-save-actions{max-width:790px}
.quick-head-v214{max-width:790px;margin:0 auto 20px;align-items:end}
.quick-head-v214 .eyebrow,.doc-mobile-head .eyebrow{font-size:11px!important;letter-spacing:.24em!important;color:var(--ba-mint)!important;margin:0 0 10px!important}
.quick-head-v214 h1,.doc-mobile-head h1{font-size:clamp(48px,7.2vw,70px);line-height:.9;letter-spacing:-.06em;font-weight:950;margin:0 0 12px}
.quick-head-v214>div:first-child>p:last-child,.doc-mobile-head>p:last-child{font-size:18px;line-height:1.35;color:#a8b4c1;margin:0;max-width:580px}
.quick-clock-wrap .quick-clock{font-size:58px;line-height:.92;color:var(--ba-mint);font-weight:950;font-variant-numeric:tabular-nums;white-space:nowrap}
.quick-clock-wrap small{display:block;margin-top:8px;font-size:14px;color:#b0bac5;white-space:nowrap}

.live-status-card{border:1px solid #1e9b6d;border-radius:18px;padding:27px 31px;background:radial-gradient(circle at 20% 55%,rgba(39,213,145,.15),transparent 34%),linear-gradient(115deg,#0b1713 0,#07100e 70%);box-shadow:inset 0 0 0 1px rgba(51,240,169,.025),0 24px 70px rgba(0,0,0,.25)}
.live-copy{align-items:center;gap:18px}
.live-copy:before{content:"▣";width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#083b2b;color:var(--ba-mint);font-size:28px;font-weight:900;flex:0 0 auto}
.live-status-card.is-travel .live-copy:before{content:"◆"}.live-status-card.is-pause .live-copy:before{content:"Ⅱ"}.live-status-card.is-idle .live-copy:before{content:"○"}
.status-dot-v214{position:absolute;width:12px;height:12px;box-shadow:none}.live-copy>div{min-width:0}.live-copy small{display:block;margin-left:0;font-size:11px;letter-spacing:.22em;color:#b8c2cc}.live-copy h2{font-size:39px;margin:10px 0 7px;font-weight:950;letter-spacing:-.035em}.live-copy p{font-size:18px;color:#b6c0ca;max-width:480px}
.live-duration{padding-left:20px;min-width:128px}.live-duration small{font-size:11px;letter-spacing:.2em}.live-duration b{font-size:56px;color:var(--ba-mint);letter-spacing:-.055em;margin:8px 0 6px;white-space:nowrap}.live-duration span{font-size:10px;letter-spacing:.24em;color:#bac3cc}

.next-action-card,.timeline-card{border:1px solid var(--ba-line);border-radius:18px;background:linear-gradient(145deg,rgba(12,20,18,.98),rgba(7,11,10,.98));padding:18px;margin-top:18px;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.section-kicker{font-size:11px;letter-spacing:.2em;color:#aab8c4;margin:2px 0 16px;padding-left:3px}.section-kicker:first-letter{color:var(--ba-mint)}
.action-expander{border:1px solid #34534a;border-radius:13px;background:#0a1210;margin:0 0 10px;overflow:hidden}
.action-expander[open]{background:#09110f}
.action-expander>summary{position:relative;padding:16px 54px 16px 18px;min-height:76px;justify-content:center;list-style:none}
.action-expander>summary:after{content:"›";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:36px;line-height:1;font-weight:300;color:#d7e1dc}
.action-expander>summary strong{font-size:21px;line-height:1.1;font-weight:920;letter-spacing:-.02em}.action-expander>summary span{font-size:13px;line-height:1.3;color:#a7b2bd;margin-top:5px}
.action-expander:first-of-type>summary{background:linear-gradient(90deg,#4ee8ad,#58f0bc);color:#04100b;border-radius:12px}
.action-expander:first-of-type>summary span,.action-expander:first-of-type>summary:after{color:#07140e}
.target-choice-grid{grid-template-columns:1fr 1fr;padding:12px;gap:12px}
.target-card,.target-inline-form{border:1px solid #314a42;background:#08100e;border-radius:12px;padding:15px;gap:11px}
.target-card h3{font-size:16px;margin-bottom:3px}.target-card p{font-size:12px;color:#9fabb5}.target-card label,.target-inline-form label{font-size:9px;letter-spacing:.13em;color:#aeb9c3}
.target-card input,.target-card select,.target-inline-form input,.target-inline-form select,.doc-compose-form input,.doc-compose-form select,.doc-compose-form textarea,.generated-select-filter{background:#08110f!important;border:1px solid #355249!important;color:#f2f6f4!important;border-radius:8px!important;padding:12px 13px!important}
.generated-select-filter{margin:6px 0!important}
.quick-primary{min-height:62px;border-radius:11px;background:linear-gradient(90deg,#48e7aa,#57efbb);font-size:17px;letter-spacing:-.01em}.secondary.skip-travel{border-color:#3a6a5b;background:#0d1a16;color:#d9e3de}
.secondary-actions-v214{gap:12px;margin-top:14px}.action-secondary{min-height:61px;border-width:1.5px;border-radius:11px;background:#0b1210;font-size:14px}.action-secondary.pause{background:rgba(112,82,0,.18);color:var(--ba-yellow);border-color:#d4aa17}.action-secondary.return{background:rgba(20,91,136,.18);color:#75c9ff;border-color:#328ac2}.action-secondary.end{background:rgba(124,23,31,.20);color:#ff7880;border-color:#e13d48}

.doc-launch-card{max-width:790px;margin:17px auto 0;padding:18px 20px;border-radius:16px;border:1px solid #263c35;background:#0b1210;gap:18px}.doc-launch-icon{width:62px;height:62px;background:#13231f;font-size:28px}.doc-launch-card strong{font-size:20px}.doc-launch-card span{font-size:14px;color:#a8b4bf;margin-top:7px}.doc-launch-card>b{font-size:40px;color:#e4ece8}
.timeline-card{max-width:790px;margin-left:auto;margin-right:auto}.timeline-head{font-size:12px;letter-spacing:.18em}.timeline-head>div{display:flex;align-items:center;gap:10px}.timeline-head span{font-size:23px}.timeline-head small{font-size:13px;letter-spacing:0}.timeline-row{grid-template-columns:104px 155px minmax(0,1fr) auto;padding:12px 2px;min-height:50px}.timeline-state{font-size:12px;padding:6px 10px}.timeline-type{font-size:14px}.timeline-context,.timeline-time{font-size:14px}.timeline-row.current .timeline-state{background:#123e61;color:#78caff}

/* Documentation mockup */
.doc-mobile-head{margin-bottom:15px}.doc-compose-card{border:1px solid #284039;border-radius:15px;background:linear-gradient(145deg,#0b1412,#08100e);padding:15px 17px;margin-bottom:11px}.context-card{grid-template-columns:66px 1fr auto;border-color:#219568;padding:18px}.context-change{color:var(--ba-mint);border:1px solid #16b67b;border-radius:22px;padding:10px 15px;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}.context-icon{width:55px;height:55px;background:#073b2a;color:var(--ba-mint)}.context-copy small,.field-card small,.compose-label{font-size:10px;letter-spacing:.2em;color:#b8c2cc}.context-copy h2{font-size:25px;margin:3px 0 4px}.context-copy p{font-size:13px;color:#a7b2bc}
.category-grid{grid-template-columns:repeat(3,1fr);gap:9px}.category-choice span{min-height:52px;border-color:#405b52;border-radius:9px;background:#0b1512;font-size:13px}.category-choice input:checked+span{background:linear-gradient(90deg,#4ce8ad,#59efbd);border-color:#5ff1bd;color:#04100b}
.field-card{display:grid;grid-template-columns:55px minmax(0,1fr);column-gap:14px;align-items:start}.field-card:before{content:"T";grid-row:1;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#14231f;color:#dfe6e3;font-size:22px;font-weight:900}.field-card label{grid-column:2}.field-card textarea{min-height:118px;line-height:1.4}
.photo-compose{position:relative;padding-left:78px}.photo-compose:before{content:"◉";position:absolute;left:16px;top:20px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#14231f;color:#f4f7f5;font-size:22px}.photo-head b{font-size:11px;letter-spacing:.18em}.photo-head small{font-size:12px}.doc-edit-gallery,.upload-preview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.photo-existing,.upload-preview-item{border-radius:10px}.photo-add{min-height:92px;border-color:#2bcf90;flex-direction:column;font-size:13px}.photo-add span{font-size:28px}.assignment-card{position:relative;padding-left:78px}.assignment-card:before{content:"↗";position:absolute;left:16px;top:18px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#14231f;color:#f4f7f5;font-size:22px}.assignment-card>p{font-size:12px;color:#a4b0ba}.assignment-grid{gap:11px}.doc-save-actions{gap:11px;margin-top:16px}.doc-save{min-height:62px;background:linear-gradient(90deg,#49e9ad,#58efbc);font-size:16px;border-radius:10px}.doc-save-actions .secondary{border-color:#40564f;border-radius:10px;min-height:62px;font-size:14px}.external-details summary{font-weight:800;color:#dfe7e3;cursor:pointer}

/* Mobile header modeled after approved mockup */
@media(max-width:900px){
  .app-main{margin-left:0}.app-sidebar{transform:translateX(-100%);transition:transform .24s ease;width:min(315px,86vw);z-index:60;box-shadow:22px 0 70px rgba(0,0,0,.55)}
  .mobile-nav-open .app-sidebar{transform:translateX(0)}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(0,0,0,.66);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s}.mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}
  .mobile-topbar{height:98px;display:flex;align-items:center;justify-content:space-between;padding:26px 22px 12px;background:linear-gradient(180deg,#07100e 0,#070b0a 82%,rgba(7,11,10,0));position:sticky;top:0;z-index:45}
  .mobile-brand img{width:145px;max-height:58px;object-fit:contain}.mobile-menu-toggle{width:48px;height:48px;border:0;background:transparent;display:grid;align-content:center;gap:6px;padding:8px;cursor:pointer}.mobile-menu-toggle span{display:block;height:4px;border-radius:5px;background:#f1f5f3}.content{padding:12px 18px 48px;max-width:860px}
  .quick-head-v214,.doc-mobile-head{padding-top:8px}.quick-head-v214 h1,.doc-mobile-head h1{font-size:58px}.quick-head-v214>div:first-child>p:last-child,.doc-mobile-head>p:last-child{font-size:17px}.quick-clock-wrap .quick-clock{font-size:54px}
}
@media(min-width:901px){.mobile-nav-backdrop{display:none}}

/* Tablet: same hierarchy, more breathing room */
@media(min-width:700px) and (max-width:1100px){
  .quick-v214-shell,.quick-head-v214,.timeline-card,.doc-launch-card,.doc-mobile-head,.doc-compose-form,.doc-compose-card,.doc-save-actions{max-width:840px}
  .content{padding-left:28px;padding-right:28px}.target-choice-grid{grid-template-columns:1fr 1fr}.secondary-actions-v214{grid-template-columns:repeat(3,1fr)}
}

/* iPhone portrait reference */
@media(max-width:520px){
  .mobile-topbar{height:88px;padding:22px 16px 8px}.mobile-brand img{width:126px}.mobile-menu-toggle{width:44px;height:44px}.content{padding:8px 14px 38px}
  .quick-head-v214{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;margin-bottom:16px}.quick-head-v214 .eyebrow{font-size:9px!important;letter-spacing:.22em!important;margin-bottom:8px!important}.quick-head-v214 h1{font-size:50px;margin-bottom:8px}.quick-head-v214>div:first-child>p:last-child{font-size:15px;line-height:1.38;max-width:310px}.quick-clock-wrap .quick-clock{font-size:45px}.quick-clock-wrap small{font-size:10px;margin-top:5px}
  .live-status-card{padding:18px 16px;gap:8px;border-radius:15px}.live-copy{gap:10px}.live-copy:before{width:54px;height:54px;font-size:23px}.live-copy small{font-size:8px;letter-spacing:.18em}.live-copy h2{font-size:29px;margin:7px 0 5px}.live-copy p{font-size:14px;max-width:48vw}.live-duration{min-width:91px;padding-left:7px}.live-duration small{font-size:8px;letter-spacing:.15em}.live-duration b{font-size:40px;margin:6px 0 4px}.live-duration span{font-size:7px;letter-spacing:.2em}
  .next-action-card,.timeline-card{padding:13px;border-radius:15px}.section-kicker{font-size:9px;margin-bottom:12px}.action-expander>summary{min-height:68px;padding:13px 45px 13px 15px}.action-expander>summary strong{font-size:18px}.action-expander>summary span{font-size:11px}.action-expander>summary:after{right:14px;font-size:30px}.target-choice-grid{grid-template-columns:1fr;padding:10px}.target-card,.target-inline-form{padding:12px}.quick-primary{min-height:56px;font-size:15px}.secondary-actions-v214{grid-template-columns:repeat(3,1fr);gap:7px}.action-secondary{min-height:55px;font-size:11px;padding:6px}.doc-launch-card{padding:14px 15px;gap:12px}.doc-launch-icon{width:50px;height:50px;font-size:23px}.doc-launch-card strong{font-size:17px}.doc-launch-card span{font-size:11px}.timeline-row{grid-template-columns:82px 105px minmax(0,1fr);gap:7px;padding:10px 0}.timeline-state{font-size:10px}.timeline-type,.timeline-context,.timeline-time{font-size:11px}.timeline-time{grid-column:2/-1;color:#98a5ae}
  .doc-mobile-head .eyebrow{font-size:9px!important}.doc-mobile-head h1{font-size:49px}.doc-mobile-head>p:last-child{font-size:15px}.doc-compose-card{padding:13px;border-radius:14px}.context-card{grid-template-columns:52px minmax(0,1fr) auto;padding:14px}.context-icon{width:46px;height:46px}.context-change{font-size:10px;padding:8px 10px}.context-copy h2{font-size:21px}.context-copy p{font-size:11px}.category-grid{grid-template-columns:repeat(2,1fr)}.category-choice span{font-size:11px;min-height:48px}.field-card{grid-template-columns:45px minmax(0,1fr);gap:10px}.field-card:before,.photo-compose:before,.assignment-card:before{width:43px;height:43px;font-size:18px}.photo-compose,.assignment-card{padding-left:64px}.doc-edit-gallery,.upload-preview{grid-template-columns:repeat(3,1fr)}.photo-add{min-height:78px}.assignment-grid{grid-template-columns:1fr}.doc-save-actions{grid-template-columns:1fr}.doc-save,.doc-save-actions .secondary{min-height:56px}
}

/* Narrow devices: protect timer and actions from wrapping */
@media(max-width:390px){
 .quick-head-v214 h1{font-size:44px}.quick-clock-wrap .quick-clock{font-size:40px}.live-copy:before{display:none}.live-copy p{max-width:47vw}.live-duration b{font-size:36px}.secondary-actions-v214{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.context-change{font-size:0;width:36px;height:36px;padding:0;display:grid;place-items:center}.context-change:after{content:"›";font-size:24px}
}
@media(max-width:900px){body.mobile-nav-open{overflow:hidden}.app-sidebar{overflow-y:auto}.app-sidebar .nav-stack{padding-bottom:28px}}
.status-dot-v214{display:none!important}

/* =========================================================
   v2.1.5 COMPACT MOCKUP WORKFLOW
   ========================================================= */
.quick-v215-shell,.quick-head-v215{max-width:790px;margin-left:auto;margin-right:auto}.quick-head-v215{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;margin-bottom:18px}.quick-head-v215 h1{margin:2px 0 5px}.quick-head-v215>div:first-child>p:last-child{margin:0;color:#aebbc5}.status-dot-v215{display:inline-block;width:12px;height:12px;border-radius:50%;background:#45e4ad;box-shadow:0 0 18px rgba(69,228,173,.55);flex:0 0 auto;margin-top:5px}.next-action-v215{padding:14px 16px}.action-row-v215{border:1px solid #33534a;border-radius:12px;background:#0a1311;margin:9px 0;overflow:hidden}.action-row-v215.action-row-primary{border-color:#36d7a0}.action-row-v215>summary{list-style:none;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:10px;align-items:center;padding:12px 14px;cursor:pointer}.action-row-v215>summary::-webkit-details-marker{display:none}.action-row-v215.action-row-primary>summary{background:linear-gradient(90deg,#4ce9ae,#5af0bd);color:#03110b}.action-row-v215>summary .action-symbol{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:rgba(0,0,0,.18)}.action-row-v215>summary strong{display:block;font-size:16px;line-height:1.1}.action-row-v215>summary small{display:block;margin-top:4px;font-size:12px;color:inherit;opacity:.82}.action-row-v215>summary>b{font-size:32px;font-weight:400;transition:transform .2s}.action-row-v215[open]>summary>b{transform:rotate(90deg)}.compact-action-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;border-top:1px solid #243a34}.compact-action-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#aeb8bf}.compact-action-form input,.compact-action-form select{min-height:43px}.compact-action-form .wide{grid-column:1/-1}.action-row-button{width:100%;min-height:58px;border-radius:12px;font-size:16px;font-weight:900}.secondary-actions-v215{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.secondary-actions-v215:empty{display:none}
.where-card-v215,.quick-start-v215{max-width:790px;margin:17px auto 0}.where-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.where-head>span,.quick-start-v215>.section-kicker{font-size:10px;letter-spacing:.18em;color:#c2ced5}.where-head small{font-size:11px;color:#99a9b2}.where-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.where-choice{border-radius:12px;border:1px solid #1bd092;background:#09130f;overflow:hidden}.where-choice.new{border-color:#27a8f0;background:#08131a}.where-choice>summary{list-style:none;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;gap:10px;align-items:center;padding:12px;cursor:pointer}.where-choice>summary::-webkit-details-marker{display:none}.where-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0b4a35;color:#52efb7;font-size:25px}.where-choice.new .where-icon{background:#0a4265;color:#53bfff}.where-choice strong,.where-choice small{display:block}.where-choice strong{font-size:14px}.where-choice small{font-size:11px;color:#aab5bc;margin-top:4px}.where-choice>summary>b{font-size:30px;font-weight:400}.quick-start-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.quick-start-tile{border-radius:12px;border:1px solid currentColor;background:#0a1210;padding:12px 8px;text-align:left;min-height:79px;cursor:pointer}.quick-start-tile span{font-size:20px}.quick-start-tile strong,.quick-start-tile small{display:block}.quick-start-tile strong{font-size:12px;margin:5px 0 2px}.quick-start-tile small{font-size:9px;opacity:.8}.quick-start-tile.customer{color:#48e8ae}.quick-start-tile.project{color:#49baf5}.quick-start-tile.planning{color:#f2bf37}.quick-start-tile.admin{color:#d366f0}.quick-start-tile.sales{color:#ff8a55}.quick-start-panel{margin-top:10px;border:1px solid #36564d;border-radius:14px;background:#09120f;overflow:hidden}.quick-panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #263b35}.quick-panel-head small{font-size:9px;letter-spacing:.14em;color:#58e9b2}.quick-panel-head h3{margin:4px 0 0}.quick-panel-head button{border:0;background:transparent;color:#dbe4df;font-size:30px;cursor:pointer}.timeline-v215 .timeline-head>div span{font-size:20px;font-weight:800;letter-spacing:0;text-transform:none}.empty-timeline{padding:18px;color:#8f9ca4;text-align:center}

/* Documentation photo sources and continuous in-app camera */
.photo-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.photo-source{min-height:82px;border:1px solid #32cf96;border-radius:12px;background:#0b1713;color:#dff8ee;padding:12px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:10px;cursor:pointer}.photo-source.library{border-color:#399fd5}.photo-source>span{grid-row:1/3;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#12352b;font-size:20px}.photo-source.library>span{background:#113449}.photo-source b{align-self:end;font-size:13px}.photo-source small{font-size:10px;color:#9eb0b8}.camera-panel{margin-top:12px;border:1px solid #2f5a4e;border-radius:14px;overflow:hidden;background:#030706}.camera-stage{position:relative;aspect-ratio:4/3;background:#000}.camera-stage video{width:100%;height:100%;object-fit:cover;display:block}.camera-status{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.62);color:#fff;font-size:11px}.camera-controls{display:grid;grid-template-columns:1fr 72px 1fr;align-items:center;gap:12px;padding:12px}.camera-controls .secondary{min-height:44px}.camera-controls small{text-align:right}.camera-shutter{width:66px;height:66px;border-radius:50%;border:4px solid #f2f6f4;background:transparent;display:grid;place-items:center;cursor:pointer}.camera-shutter span{width:48px;height:48px;border-radius:50%;background:#f2f6f4;display:block}.field-hint{display:block;margin-top:5px;color:#8fa0a8;font-size:10px;line-height:1.35}.upload-preview-item{position:relative}.upload-preview-item .photo-remove{position:absolute;right:5px;top:5px}

@media(max-width:700px){.quick-head-v215{gap:10px}.quick-start-grid{grid-template-columns:repeat(3,1fr)}.quick-start-tile:nth-child(4),.quick-start-tile:nth-child(5){min-height:72px}.where-grid{grid-template-columns:1fr}.compact-action-form{grid-template-columns:1fr}.compact-action-form .wide{grid-column:auto}.where-head{align-items:flex-start}.where-head small{max-width:48%;text-align:right}.photo-source-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.quick-head-v215 h1{font-size:50px}.action-row-v215>summary{grid-template-columns:42px minmax(0,1fr) 22px;padding:10px}.action-row-v215>summary .action-symbol{width:38px;height:38px;font-size:20px}.action-row-v215>summary strong{font-size:14px}.action-row-v215>summary small{font-size:10px}.where-head{font-size:9px}.quick-start-grid{grid-template-columns:repeat(3,1fr);gap:7px}.quick-start-tile{min-height:74px;padding:9px 7px}.quick-start-tile strong{font-size:11px}.quick-start-tile small{font-size:8px}.photo-source-actions{grid-template-columns:1fr}.camera-controls{grid-template-columns:1fr 70px 1fr}.live-status-card{margin-bottom:11px}}
@media(min-width:701px) and (max-width:1100px){.quick-start-grid{grid-template-columns:repeat(5,1fr)}.quick-v215-shell,.quick-head-v215,.where-card-v215,.quick-start-v215{max-width:860px}}

/* v2.1.5.1 documentation draft persistence */
.draft-save-state{max-width:920px;margin:12px auto 0;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #29473a;border-radius:10px;background:#0b1511;color:#aebbb5;font-size:12px}.draft-state-dot{width:8px;height:8px;border-radius:50%;background:#55eab4;box-shadow:0 0 0 4px #55eab41a}.doc-intermediate-save{border-color:#2d7f61!important;color:#dff8ef!important}@media(max-width:520px){.draft-save-state{font-size:11px;margin-top:9px}}
/* v2.1.5.2 resilient photo queue */
.photo-upload-summary{margin-top:10px;font-size:.83rem;color:#a8b3ad;line-height:1.35}.offline-photo{position:relative}.offline-photo-state{position:absolute;left:6px;right:6px;bottom:6px;background:rgba(5,8,7,.86);padding:5px 7px;border-radius:7px;font-size:.68rem;color:#f2f5f3;line-height:1.2}.photo-retry{position:absolute;right:34px;top:6px;width:28px;height:28px;border-radius:50%;border:1px solid #4d5b54;background:#121815;color:#e9efec;font-size:1rem}.offline-photo .photo-remove{z-index:2}
.draft-resume-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.draft-resume-notice span{color:#b6c0bb;flex:1 1 240px}.draft-resume-notice .secondary{margin-left:auto}

/* v2.1.6 documentation overview - compact list, no thumbnail wall */
.compact-doc-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}.doc-more-filters{grid-column:1/-1;border:1px solid #263a33;border-radius:10px;padding:9px 12px}.doc-more-filters summary{cursor:pointer;font-weight:800;color:#bdc8c2}.doc-more-filters>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.doc-table-shell{border:1px solid #263a33;border-radius:14px;overflow:hidden;background:#0a100e}.doc-table-head,.doc-table-row{display:grid;grid-template-columns:120px minmax(190px,1.1fr) minmax(240px,1.5fr) 75px 110px minmax(250px,1fr);align-items:center;gap:12px;padding:12px 14px}.doc-table-head{background:#131c18;color:#91a199;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.doc-table-row{border-top:1px solid #26332e}.doc-table-row:hover{background:#0e1713}.doc-table-row b{display:block;color:#f0f5f2;font-size:12px;line-height:1.25}.doc-table-row small{display:block;color:#8f9d96;font-size:10px;line-height:1.35;margin-top:3px}.photo-count-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #31453c;border-radius:15px;padding:6px 9px;color:#c5d1cb;font-size:10px}.doc-col-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.doc-col-actions a{font-size:9px;padding:8px 9px;min-height:auto}.doc-col-status .doc-status{white-space:nowrap}@media(max-width:1100px){.compact-doc-filters{grid-template-columns:repeat(2,minmax(150px,1fr))}.doc-table-head{display:none}.doc-table-row{grid-template-columns:110px minmax(180px,1fr) 72px 105px;grid-template-areas:"date context photos status" "note note actions actions"}.doc-col-date{grid-area:date}.doc-col-context{grid-area:context}.doc-col-note{grid-area:note}.doc-col-photos{grid-area:photos}.doc-col-status{grid-area:status}.doc-col-actions{grid-area:actions}}@media(max-width:640px){.compact-doc-filters{grid-template-columns:1fr}.doc-more-filters>div{grid-template-columns:1fr}.doc-table-row{grid-template-columns:1fr auto;grid-template-areas:"date status" "context context" "note note" "photos actions";gap:8px;padding:13px}.doc-col-actions a{font-size:8px;padding:7px 8px}.doc-col-photos{align-self:end}}

/* v2.1.6.1 documentation photo captions / replacement */
.photo-existing{position:relative;display:flex;flex-direction:column;gap:.55rem;align-items:stretch}
.photo-existing>a{display:block}
.photo-caption-label{display:flex;flex-direction:column;gap:.25rem}
.photo-caption-label small,.photo-edit-row small{font-size:.68rem;letter-spacing:.08em;opacity:.7}
.photo-caption-label textarea{width:100%;min-height:3.5rem;resize:vertical}
.photo-edit-row,.photo-replace-row{display:flex;gap:.55rem;align-items:end;flex-wrap:wrap}
.photo-edit-row label{flex:0 0 7rem}
.photo-replace-row input[type=file]{max-width:100%;flex:1 1 15rem}
button.compact{padding:.55rem .75rem;font-size:.72rem}
@media (max-width:700px){.photo-edit-row,.photo-replace-row{align-items:stretch;flex-direction:column}.photo-edit-row label{flex:auto;width:100%}}

/* v2.1.6.2 photo editor usability */
.doc-edit-gallery{grid-template-columns:repeat(2,minmax(280px,1fr));align-items:start;overflow:visible}
.photo-existing{aspect-ratio:auto!important;overflow:visible!important;min-height:0;padding:.75rem;background:#0b100e}
.photo-existing>a{height:220px;overflow:hidden;border-radius:8px}
.photo-existing>a img{width:100%;height:100%;object-fit:cover}
.photo-caption-label textarea{min-height:5.5rem}
.photo-edit-row .secondary,.photo-replace-row .secondary{white-space:normal;min-height:42px}
@media(max-width:800px){.doc-edit-gallery{grid-template-columns:1fr}.photo-existing>a{height:min(58vw,300px)}}

/* v2.1.7 customer portal */
.customer-release-card{border-color:#2f735b!important;background:linear-gradient(145deg,#0a1511,#0b110f)!important}.customer-release-toggle{display:flex;gap:12px;align-items:flex-start}.customer-release-toggle input{width:22px;height:22px;margin-top:2px}.customer-release-toggle span{display:flex;flex-direction:column;gap:4px}.customer-release-toggle small{color:#93a39b}.customer-visible-badge{display:inline-block;margin-top:6px;padding:4px 7px;border:1px solid #2c8b67;border-radius:999px;color:#63e5b3;font-size:8px;letter-spacing:.08em;font-weight:900}.customer-portal-body{background:radial-gradient(circle at 45% -10%,#10251e 0,#070b0a 38%,#050706 78%);min-height:100vh}.customer-shell{min-height:100vh}.customer-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(18px,4vw,48px);border-bottom:1px solid #21332c;background:rgba(6,10,8,.94);backdrop-filter:blur(12px)}.customer-brand{display:flex;align-items:center;gap:14px;color:#f0f6f3;text-decoration:none;font-weight:900;letter-spacing:.12em;font-size:11px}.customer-brand img{width:90px;height:auto}.customer-user{display:flex;align-items:center;gap:12px;color:#9fb0a8}.customer-content{max-width:1180px;margin:0 auto;padding:38px clamp(18px,4vw,48px) 80px}.customer-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-project-card{display:flex;min-height:170px;flex-direction:column;justify-content:space-between;border:1px solid #245f4a;border-radius:16px;padding:20px;background:linear-gradient(145deg,#0b1813,#09100d);color:#eef7f2;text-decoration:none}.customer-project-card:hover{border-color:#54d899;transform:translateY(-1px)}.customer-project-card small{color:#65ddb0;font-size:9px;letter-spacing:.18em}.customer-project-card h2{margin:18px 0;font-size:24px}.customer-project-card span{color:#54d899;font-size:10px;font-weight:900;letter-spacing:.1em}.customer-calendar-list{display:flex;flex-direction:column;gap:8px}.customer-calendar-list>div{display:grid;grid-template-columns:150px minmax(180px,1fr) 120px;gap:12px;align-items:center;padding:11px 12px;border:1px solid #25352f;border-radius:10px;background:#0a100e}.customer-calendar-list time{color:#68e3b5;font-variant-numeric:tabular-nums;font-weight:800}.customer-calendar-list span{font-size:10px;color:#aab6b0;text-transform:uppercase;letter-spacing:.08em}.customer-calendar-list small{grid-column:2/-1;color:#95a39c}.customer-doc-line,.customer-note-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid #26332e;color:#ecf4f0;text-decoration:none}.customer-doc-line small,.customer-note-line span{display:block;color:#8f9f97;font-size:10px;margin-top:3px}.customer-doc-line>span{color:#5adca9;font-size:9px;font-weight:900}.customer-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-meta-grid>div{padding:12px;border:1px solid #26352f;border-radius:10px;background:#0a100e}.customer-meta-grid small{display:block;color:#8e9d95;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.customer-note-text{white-space:pre-wrap;line-height:1.55;color:#d9e3de}.customer-photo-grid,.customer-photo-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px}.customer-photo-grid figure,.customer-photo-edit{margin:0;border:1px solid #283a32;border-radius:12px;background:#0a100e;padding:10px}.customer-photo-grid img,.customer-photo-edit img{display:block;width:100%;height:260px;object-fit:contain;background:#030504;border-radius:8px}.customer-photo-grid figcaption{padding:9px 3px 2px;color:#b9c5bf;font-size:11px}.customer-photo-edit{display:flex;flex-direction:column;gap:9px}.customer-note-form{max-width:880px;margin:0 auto}.customer-login-body{display:grid;place-items:center;min-height:100vh;padding:24px}.customer-login-card{width:min(440px,100%);border:1px solid #284538;border-radius:18px;padding:28px;background:#09100d;box-shadow:0 28px 90px #0008}.customer-login-card>img{width:120px}.customer-login-card h1{font-size:42px;margin:.3em 0}.customer-login-card>p{color:#9eada5}.customer-test-hint{display:block;margin-top:18px;color:#89988f}.admin-customer-grid,.admin-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;align-items:end}.customer-account-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #25332d}.customer-account-row span{color:#8f9f97;font-size:11px}@media(max-width:850px){.customer-project-grid{grid-template-columns:1fr 1fr}.customer-calendar-list>div{grid-template-columns:1fr auto}.customer-calendar-list b{grid-column:1/-1}.customer-calendar-list small{grid-column:1/-1}.customer-photo-grid,.customer-photo-edit-grid{grid-template-columns:1fr}.admin-customer-grid,.admin-calendar-grid{grid-template-columns:1fr 1fr}.customer-account-row{grid-template-columns:1fr 1fr}.customer-account-row>*{min-width:0}}@media(max-width:560px){.customer-topbar{padding:11px 14px}.customer-brand span{display:none}.customer-brand img{width:78px}.customer-user>span{display:none}.customer-content{padding:26px 14px 60px}.customer-project-grid{grid-template-columns:1fr}.customer-meta-grid{grid-template-columns:1fr}.admin-customer-grid,.admin-calendar-grid{grid-template-columns:1fr}.customer-account-row{grid-template-columns:1fr}.customer-photo-grid img,.customer-photo-edit img{height:min(70vw,300px)}}@media print{.customer-topbar,.customer-content .action-row{display:none!important}.customer-content{padding:0;max-width:none}.customer-doc-detail{border:0!important;box-shadow:none!important}.customer-portal-body{background:#fff!important;color:#111!important}.customer-note-text{color:#111!important}}
/* v2.1.7.1 shared customer master */
.customer-master-create,.customer-master-fields{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.wide-field{grid-column:1/-1}.customer-master-list{display:grid;gap:12px}.customer-master-card{border:1px solid #26372f;border-radius:12px;padding:14px;background:#0a100e}.customer-master-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.customer-master-head strong{font-size:15px}.customer-master-head small{display:block;color:#7f9188;margin-top:4px}.account-card-list{display:grid;gap:10px}.customer-access-card{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) minmax(180px,1fr) auto auto;gap:12px;align-items:end;padding:14px;border:1px solid #26372f;border-radius:10px;background:#0a100e}.customer-access-card small{display:block;color:#7e9087;font-size:8px;letter-spacing:.12em;margin-bottom:5px}@media(max-width:900px){.customer-master-create,.customer-master-fields{grid-template-columns:1fr 1fr}.customer-access-card{grid-template-columns:1fr 1fr}}@media(max-width:600px){.customer-master-create,.customer-master-fields,.customer-access-card{grid-template-columns:1fr}.wide-field{grid-column:auto}.customer-master-head{align-items:flex-start;flex-direction:column}}
\n/* v2.1.7.2 customer admin alignment with employee UI */
.customer-admin-section{max-width:1180px}.customer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:end}.customer-form-grid label{display:flex;flex-direction:column;gap:7px}.customer-form-grid label>span,.access-state>span{font-size:8px;font-weight:900;letter-spacing:.12em;color:#7f8b85}.customer-form-grid input,.customer-form-grid select,.customer-form-grid textarea{width:100%;min-height:42px;background:#0b0f0d;border:1px solid #323936;color:#f1f4f2;padding:10px 12px}.customer-form-grid textarea{min-height:82px;resize:vertical}.customer-form-grid .span-2{grid-column:1/-1}.form-actions{display:flex;gap:9px;align-items:center}.form-actions.span-2{grid-column:1/-1}.form-actions .primary,.form-actions .secondary{width:auto;min-width:170px}.employee-like-card{border:1px solid #2b332f;border-radius:0;background:#111412;padding:18px}.customer-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid #29312d}.customer-card-title h3{margin:2px 0 0;font-size:18px}.status-toggle{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;color:#c8d0cc}.status-toggle input{width:16px!important;min-height:auto!important;height:16px}.status-toggle span{font-size:8px;font-weight:900;letter-spacing:.12em}.customer-access-card{display:block;padding:18px}.access-state{display:flex;flex-direction:column;gap:8px;padding:10px 0}.access-state b{font-size:11px;color:#d8e0dc}.customer-master-list,.account-card-list{display:grid;gap:12px}.customer-master-card .form-actions,.customer-access-card .form-actions{margin-top:15px}.customer-account-row{grid-template-columns:minmax(220px,1.2fr) minmax(260px,2fr) auto}.customer-account-row form{justify-self:end}@media(max-width:760px){.customer-form-grid{grid-template-columns:1fr}.customer-form-grid .span-2,.form-actions.span-2{grid-column:auto}.customer-card-title{flex-direction:column}.customer-account-row{grid-template-columns:1fr}.customer-account-row form{justify-self:start}}\n
/* v2.1.7.3 customer list/detail + login alignment */
.customer-list-panel,.customer-detail-panel{max-width:1180px}.customer-list-panel{padding:22px}.customer-list-wrap{margin-top:18px}.customer-list-table{min-width:900px}.customer-list-table td strong{font-size:12px}.customer-list-table .table-action{text-align:right}.customer-project-assign{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:14px;align-items:end}.customer-project-assign label>span{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:#7f8b85;margin-bottom:7px}.customer-project-assign select{width:100%;min-height:42px;background:#0b0f0d;border:1px solid #323936;color:#f1f4f2;padding:10px 12px}.customer-project-admin-list{display:grid;gap:10px}.project-admin-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,auto) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #27302c}.project-admin-row:first-child{border-top:0}.project-admin-row b{display:block}.project-admin-row small{display:block;color:#7f8b85;margin-top:4px}.danger-outline{border-color:#6d3531!important;color:#ff9a92!important;background:#1b1110!important}.customer-login-v3{padding:38px 36px 34px}.customer-login-v3 .login-intro{max-width:330px;margin:0 auto 24px;color:#9aa59f;line-height:1.55}.customer-login-form{gap:18px}.customer-login-form label{display:grid;gap:8px}.customer-login-form label>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#9ea9a3;font-weight:900}.customer-login-form input{min-height:46px}.customer-login-form .primary{margin-top:4px;min-height:46px}.customer-login-v3 .customer-test-hint{display:block;margin-top:22px;color:#78847e;line-height:1.45}.customer-detail-panel .customer-account-row{grid-template-columns:minmax(220px,1.2fr) minmax(260px,2fr) auto}.customer-detail-panel .customer-account-row>span:last-child{justify-self:end;color:var(--green);font-size:9px;font-weight:900}@media(max-width:850px){.customer-project-assign,.project-admin-row{grid-template-columns:1fr}.project-admin-row .action-row{justify-content:flex-start}.customer-detail-panel .customer-account-row{grid-template-columns:1fr}}@media(max-width:560px){.customer-login-v3{padding:30px 22px}.customer-login-form{gap:16px}}

/* v2.1.7.4 graphical customer construction schedule */
.schedule-panel{overflow:hidden}.schedule-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.schedule-title h2{margin:2px 0 4px}.schedule-title p{color:#8f9f97}.schedule-scroll{overflow-x:auto;border:1px solid #28342f;border-radius:12px;background:#0b100e}.schedule-sheet{display:grid;grid-template-columns:220px minmax(calc(var(--schedule-days) * 30px),1fr);min-width:max(100%,760px)}.schedule-corner,.schedule-day-label{padding:12px;border-right:1px solid #303c36;border-bottom:1px solid #303c36;font-size:10px;font-weight:900;letter-spacing:.08em;color:#aab7b0}.schedule-months,.schedule-days,.schedule-row-grid{display:grid;grid-template-columns:repeat(var(--schedule-days),minmax(30px,1fr))}.schedule-months{border-bottom:1px solid #303c36}.schedule-months>div{text-align:center;padding:11px 4px;border-right:1px solid #303c36;font-size:11px;font-weight:900;color:#dfe8e3}.schedule-days{border-bottom:1px solid #303c36}.schedule-days>div{display:grid;place-items:center;min-height:42px;border-right:1px solid #26322c}.schedule-days small{font-size:7px;color:#718078}.schedule-days b{font-size:10px}.schedule-days .weekend,.schedule-row-grid i.weekend{background:#101814}.schedule-row-label{min-height:58px;padding:10px 12px;border-right:1px solid #303c36;border-bottom:1px solid #26322c;display:flex;flex-direction:column;justify-content:center}.schedule-row-label b{font-size:11px}.schedule-row-label small{font-size:8px;color:#819087;text-transform:uppercase;margin-top:4px}.schedule-row-grid{position:relative;min-height:58px;border-bottom:1px solid #26322c}.schedule-row-grid i{grid-row:1;min-width:0;border-right:1px solid #202b26}.schedule-block{grid-row:1;z-index:2;align-self:center;min-height:40px;margin:8px 2px;padding:7px 9px;border-radius:8px;overflow:hidden;color:#07100c;box-shadow:0 3px 10px #0004;display:flex;flex-direction:column;justify-content:center}.schedule-block b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-block small{font-size:8px;opacity:.75;white-space:nowrap}.schedule-block.tone-0{background:#f2c38e}.schedule-block.tone-1{background:#f2a3a3}.schedule-block.tone-2{background:#94c9f2}.schedule-block.tone-3{background:#9be2a4}.schedule-block.tone-4{background:#c7a4f3}.schedule-block.tone-5{background:#f2d783}.schedule-block.tone-6{background:#7edbc4}.schedule-detail-table{border:1px solid #28342f;border-radius:11px;overflow:hidden}.schedule-detail-row{display:grid;grid-template-columns:160px minmax(220px,1fr) 120px;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid #28342f;background:#0a100e}.schedule-detail-row:last-child{border-bottom:0}.schedule-detail-row time{font-weight:900;color:#69dfb0}.schedule-detail-row time small,.schedule-detail-row div small{display:block;margin-top:4px;color:#819087;font-size:9px;font-weight:400}.schedule-detail-row>span{justify-self:end;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#a9b5af}@media(max-width:700px){.schedule-sheet{grid-template-columns:160px minmax(calc(var(--schedule-days) * 28px),1fr)}.schedule-detail-row{grid-template-columns:1fr auto}.schedule-detail-row>div{grid-column:1/-1;grid-row:2}.schedule-detail-row>span{grid-column:2;grid-row:1}.schedule-title{display:block}}

/* v2.1.8 projects + schedule workflow */
.project-list{display:grid;gap:10px}.project-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid #2b3731;border-radius:12px;background:#0a100e;color:inherit;text-decoration:none}.project-list-row:hover{border-color:#43c99a}.project-list-row h3{margin:2px 0 4px;font-size:18px}.project-list-row small{color:#819087}.project-list-meta{display:flex;gap:12px;align-items:center}.project-list-meta>b{font-size:9px;color:#56ddb0;letter-spacing:.08em}.status-pill{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #3b4a43;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.08em}.status-pill.ok{border-color:#2d8e69;color:#65e6b4}.event-edit-list{display:grid;gap:12px}.event-edit-card{padding:16px;border:1px solid #29362f;border-radius:12px;background:#0a100e}.event-edit-card.is-cancelled{opacity:.72;border-style:dashed}.event-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.event-card-head h3{margin:6px 0 0}.event-type{display:inline-flex;align-items:center;width:max-content;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.event-type.type-meeting{background:#18223b;color:#9fc5ff;border:1px solid #35578a}.event-type.type-construction{background:#123326;color:#7ce7b5;border:1px solid #2b7b59}.cancelled-event-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #28322d}.cancelled-event-line:first-child{border-top:0}.cancelled-event-line small{display:block;color:#839087;margin-top:4px}.cancelled-event-line>span{font-size:9px;color:#ff9e95;font-weight:900}.schedule-log-list{display:grid}.schedule-log-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:14px;align-items:start;padding:12px 0;border-top:1px solid #28322d}.schedule-log-row:first-child{border-top:0}.schedule-log-row time{font-size:9px;color:#7f9188}.schedule-log-row b{font-size:11px}.schedule-log-row small{display:block;margin-top:4px;color:#78877f}.schedule-log-row>span{font-size:8px;color:#73ddb3}.cancelled-block{filter:grayscale(.8);opacity:.65;text-decoration:line-through}.schedule-detail-row.is-cancelled{opacity:.62}.inline-check{margin-left:auto}.filter-row{display:flex;gap:12px;align-items:end}.filter-row label{flex:1}.filter-row label>span{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:#7f8b85;margin-bottom:7px}@media(max-width:760px){.project-list-row{grid-template-columns:1fr}.project-list-meta{flex-wrap:wrap}.schedule-log-row{grid-template-columns:1fr}.filter-row{display:grid}.event-card-head{flex-direction:column}}

/* v2.1.8.1 schedule parity: light mockup surface + compact editing */
.schedule-light{background:#fff;color:#17211d;border:1px solid #dce3df;border-radius:18px;padding:22px;box-shadow:0 12px 34px rgba(0,0,0,.10)}
.schedule-light .eyebrow{color:#5d6a64}.schedule-light .schedule-title h2{color:#111915}.schedule-light .schedule-title p{color:#69756f}.schedule-light .light-check{color:#34413b}.schedule-light .light-check input{accent-color:#22a873}
.light-schedule{background:#fff;border-color:#d8dfdb}.schedule-light .schedule-sheet{background:#fff}.schedule-light .schedule-corner,.schedule-light .schedule-day-label{background:#f7f9f8;color:#59655f;border-color:#d8dfdb}.schedule-light .schedule-months{border-color:#d8dfdb}.schedule-light .schedule-months>div{background:#f7f9f8;color:#26332d;border-color:#d8dfdb}.schedule-light .schedule-days{border-color:#d8dfdb}.schedule-light .schedule-days>div{background:#fff;border-color:#e2e7e4}.schedule-light .schedule-days small{color:#6b7771}.schedule-light .schedule-days b{color:#25312b}.schedule-light .schedule-days .saturday,.schedule-light .schedule-row-grid i.saturday{background:#eef1ef}.schedule-light .schedule-days .sunday,.schedule-light .schedule-row-grid i.sunday{background:#e3e7e4}.schedule-light .schedule-days .saturday small,.schedule-light .schedule-days .sunday small{color:#8e4f4f;font-weight:900}.schedule-light .schedule-days .saturday b,.schedule-light .schedule-days .sunday b{color:#7b3f3f}.schedule-light .schedule-row-label{background:#fbfcfb;border-color:#d8dfdb}.schedule-light .schedule-row-label b{color:#1f2b25}.schedule-light .schedule-row-label small{color:#68746e}.schedule-light .schedule-row-grid{background:#fff;border-color:#e1e6e3}.schedule-light .schedule-row-grid i{border-color:#e8ece9}.schedule-light .schedule-block{box-shadow:0 2px 7px rgba(0,0,0,.16)}
.light-detail-table{border-color:#dce3df;background:#fff}.schedule-light .schedule-detail-row{background:#fff;border-color:#e1e6e3}.schedule-light .schedule-detail-row time{color:#157c58}.schedule-light .schedule-detail-row time small,.schedule-light .schedule-detail-row div small{color:#738078}.schedule-light .schedule-detail-row>span{color:#5e6a64}.light-empty{color:#6d7973;margin:10px 0}
.schedule-create-box{margin-top:18px;border-top:1px solid #e1e6e3;padding-top:16px}.schedule-create-box>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;min-height:38px;padding:9px 13px;border:1px solid #b7c4bd;border-radius:8px;background:#f8faf9;color:#17211d;font-size:9px;font-weight:900;letter-spacing:.08em}.schedule-create-box>summary::-webkit-details-marker{display:none}.schedule-create-box[open]>summary{border-color:#4aa985}.schedule-edit-form{margin-top:16px;padding:16px;border:1px solid #dce3df;border-radius:12px;background:#f8faf9}.schedule-light .schedule-edit-form label>span{color:#5c6962}.schedule-light .schedule-edit-form input,.schedule-light .schedule-edit-form select,.schedule-light .schedule-edit-form textarea{background:#fff!important;color:#17211d!important;border:1px solid #cbd4cf!important}
.event-list-editor{border-bottom:1px solid #e1e6e3;background:#fff}.event-list-editor:last-child{border-bottom:0}.event-list-editor>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:150px minmax(220px,1fr) 110px 86px;gap:14px;align-items:center;padding:14px 15px}.event-list-editor>summary::-webkit-details-marker{display:none}.event-list-editor>summary time{font-weight:900;color:#157c58}.event-list-editor>summary time small,.event-list-editor>summary div small{display:block;margin-top:4px;color:#738078;font-size:9px;font-weight:400}.event-list-editor>summary div>b{display:block;margin-top:5px;color:#17211d}.event-list-status{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#5f6b65}.event-edit-trigger{justify-self:end;font-size:8px;font-weight:900;letter-spacing:.08em;color:#237e5d}.event-list-editor[open]{background:#fbfcfb}.event-list-editor.is-cancelled{opacity:.68}.light-cancelled{border-color:#e1e6e3}.light-cancelled b{color:#202c26}.light-cancelled small{color:#768179}.light-log-list .schedule-log-row{border-color:#e1e6e3}.light-log-list .schedule-log-row time{color:#6b7771}.light-log-list .schedule-log-row b{color:#1b2721}.light-log-list .schedule-log-row small{color:#748078}.light-log-list .schedule-log-row>span{color:#237e5d}
.project-note-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-note-card{display:flex;flex-direction:column;gap:6px;padding:14px 15px;border:1px solid #dce3df;border-radius:12px;background:#fbfcfb;color:#18231e;text-decoration:none}.project-note-card:hover{border-color:#58aa8b}.project-note-card small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#708078}.project-note-card b{font-size:13px}.project-note-card span{font-size:10px;color:#66736c;line-height:1.45}
@media(max-width:760px){.schedule-light{padding:15px}.event-list-editor>summary{grid-template-columns:1fr auto}.event-list-editor>summary>div{grid-column:1/-1;grid-row:2}.event-list-status{grid-column:1}.event-edit-trigger{grid-column:2}.project-note-cards{grid-template-columns:1fr}}

/* v2.1.9 project documents */
.document-upload-form,.customer-document-upload{margin-top:18px}.customer-document-upload{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,.8fr) minmax(240px,1.4fr) auto;gap:14px;align-items:end}.customer-document-upload label,.document-upload-form label{display:grid;gap:6px}.customer-document-upload label span,.document-upload-form label span,.project-document-row label span{font-size:11px;font-weight:800;letter-spacing:.08em}.document-section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 10px;padding-top:14px;border-top:1px solid #dce2df}.document-section-title h3{margin:0;color:#101513}.document-section-title span{background:#edf2ef;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}.project-document-list,.customer-document-list{display:grid;gap:10px}.project-document-row{display:grid;grid-template-columns:minmax(240px,1.7fr) minmax(220px,1.2fr) minmax(150px,.7fr) minmax(220px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #dfe5e1;border-radius:12px;background:#fff}.document-main{display:grid;gap:3px;align-self:center}.document-main a{color:#101513;text-decoration:none}.document-main small,.document-main span{color:#5e6863}.doc-source-badge{display:inline-flex;width:max-content;margin-top:4px;padding:3px 8px;border-radius:999px;background:#e8f7ef;color:#176441!important;font-size:10px!important;font-weight:900;letter-spacing:.05em}.document-flags{display:grid;gap:6px;align-self:center}.review-check{font-weight:800}.customer-document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 16px;border:1px solid #dfe5e1;border-radius:12px;background:#fff;color:#101513;text-decoration:none}.customer-document-row>div:first-child{display:grid;gap:4px}.customer-document-row small,.customer-document-row span{color:#64706a}.document-review-state{display:grid;gap:3px;text-align:right;justify-items:end}.document-review-state strong{color:#167149}.document-review-state em{font-style:normal;color:#8a5a00;background:#fff5d9;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.project-log-link{display:flex;justify-content:flex-end}.inline-reset-form{margin-top:-8px;margin-bottom:12px;display:flex;justify-content:flex-end}
@media (max-width:1100px){.project-document-row{grid-template-columns:1fr 1fr}.project-document-row .document-main{grid-column:1/-1}.customer-document-upload{grid-template-columns:1fr 1fr}.customer-document-upload .wide{grid-column:1/-1}.customer-document-upload button{width:max-content}}
@media (max-width:700px){.project-document-row,.customer-document-upload{grid-template-columns:1fr}.customer-document-row{grid-template-columns:1fr}.document-review-state{text-align:left;justify-items:start}.project-log-link{justify-content:stretch}.project-log-link a{width:100%;text-align:center}}

/* v2.1.9.1 document layout + schedule weekend layering */
.schedule-light .schedule-row-grid{position:relative;isolation:isolate}
.schedule-light .schedule-row-grid>i{grid-row:1;z-index:1;pointer-events:none;background:transparent!important}
.schedule-light .schedule-row-grid>i.saturday{background:rgba(90,105,97,.14)!important;box-shadow:inset 1px 0 rgba(90,105,97,.18),inset -1px 0 rgba(90,105,97,.18)}
.schedule-light .schedule-row-grid>i.sunday{background:rgba(90,105,97,.22)!important;box-shadow:inset 1px 0 rgba(90,105,97,.24),inset -1px 0 rgba(90,105,97,.24)}
.schedule-light .schedule-block{grid-row:1;z-index:2;align-self:center}
.schedule-light .schedule-days .saturday{background:#e9eeeb!important}
.schedule-light .schedule-days .sunday{background:#dfe6e2!important}
.schedule-light .schedule-days .saturday,.schedule-light .schedule-days .sunday{box-shadow:inset 1px 0 #c8d1cc,inset -1px 0 #c8d1cc}

.project-document-upload-card{margin-top:18px;border:1px solid #d9e1dd;border-radius:14px;background:#f8faf9;padding:16px;display:grid;gap:14px}
.document-upload-fields{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.6fr);gap:14px}
.document-upload-fields label{display:grid;gap:7px}
.document-upload-fields label>span,.document-edit-fields label>span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#58665f}
.document-upload-fields input,.document-upload-fields select,.document-edit-fields input,.document-edit-fields select{width:100%;min-height:42px;padding:10px 12px;border:1px solid #cbd4cf;background:#fff;color:#17211d;border-radius:7px}
.document-note-field{grid-column:1/-1}
.document-upload-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #dfe5e1;padding-top:14px}
.document-toggle{display:flex!important;flex-direction:row!important;align-items:center!important;gap:11px!important;min-width:0;padding:8px 10px;border:1px solid #d8e0dc;border-radius:9px;background:#fff;color:#1a2520;cursor:pointer}
.document-toggle input{width:17px!important;height:17px!important;min-height:0!important;flex:0 0 auto;accent-color:#32bd82}
.document-toggle span{display:grid;gap:2px;min-width:0}
.document-toggle b{font-size:11px;line-height:1.2}
.document-toggle small{font-size:9px;color:#6c7972;line-height:1.25}
.review-toggle{border-color:#b8dfcd;background:#f3fbf7}
.archive-toggle{border-color:#e1d5c9;background:#fffaf4}
.project-document-row-v2{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(360px,1.5fr) minmax(250px,.9fr);gap:16px;align-items:start;padding:16px;border:1px solid #dfe5e1;border-radius:12px;background:#fff}
.project-document-row-v2 .document-main{padding-top:3px}
.document-edit-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.52fr);gap:12px}
.document-edit-fields label{display:grid;gap:7px;min-width:0}
.document-action-panel{display:grid;gap:8px;align-content:start}
.document-save-button{width:100%;margin-top:2px}
.upload-hint{display:grid;gap:3px;color:#1b2a23}
.upload-hint b{font-size:11px}
.upload-hint small{font-size:9px;color:#6c7972}
.customer-upload-actions{justify-content:space-between}

@media(max-width:1180px){
  .project-document-row-v2{grid-template-columns:1fr 1fr}
  .project-document-row-v2 .document-main{grid-column:1/-1}
  .document-action-panel{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:stretch}
  .document-save-button{width:auto;margin:0}
}
@media(max-width:760px){
  .document-upload-fields,.project-document-row-v2,.document-edit-fields{grid-template-columns:1fr}
  .document-note-field,.project-document-row-v2 .document-main,.document-action-panel{grid-column:auto}
  .document-upload-actions{align-items:stretch;flex-direction:column}
  .document-upload-actions .primary{width:100%}
  .document-action-panel{display:grid;grid-template-columns:1fr}
  .document-save-button{width:100%}
}

.document-link-actions{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 4px}.document-link-actions a{font-size:11px;font-weight:900;letter-spacing:.04em;color:#176441!important;text-decoration:none}.document-link-actions a:hover{text-decoration:underline}
