/* FOTON 22 • readable, task-based portal */
:root{--text:#172b42;--muted:#52647a;--cyan:#1463ec;--blue:#1463ec;--line:#dbe4ed;--shadow:0 8px 24px #17345408}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.55;color:var(--text);background:#f4f7fb}
.shell{grid-template-columns:252px minmax(0,1fr)}
main{min-width:0;padding:28px 36px}.app-view{max-width:1400px;margin:auto}
.side{padding:26px 16px;background:#fff;border-right:1px solid var(--line);overflow-y:auto;gap:4px}
.brand{margin-bottom:24px}.brand small{letter-spacing:2px;font-size:10px}.nav-label{font-size:11px;color:#64748b;margin:20px 12px 8px;letter-spacing:1px}
.nav-btn{font-size:14px;padding:12px 14px;color:#42566f;border:1px solid transparent;border-radius:9px;gap:10px;width:100%;text-align:left;min-height:46px}
.nav-btn:hover{background:#f1f5fb;color:#1452bb}.nav-btn.active{background:#eaf1ff;color:#1257ce;border-color:#cddfff;font-weight:700}.task-navigation{display:grid;gap:3px}
.top{margin-bottom:26px}.top h2{font-size:28px;letter-spacing:-.6px;margin:3px 0}.eyebrow{font-size:10px;color:#3264a5;letter-spacing:1.5px}.top-actions{gap:10px}.secure-pill{display:none}
button,input,select,textarea{font-family:inherit;font-size:14px}button{cursor:pointer;min-height:44px;border:1px solid #cdd8e5;border-radius:9px;color:#23415f;background:#fff;padding:10px 15px;font-weight:600}button:hover{background:#f0f5fd}button:disabled{opacity:.55;cursor:wait}
button.primary,.primary{background:#1463ec;color:#fff;border:1px solid #1463ec;box-shadow:0 3px 8px #1463ec15}.primary:hover{background:#0c52cd}.full{width:100%}
input,select,textarea{background:#fff;color:#172b42;border:1px solid #cbd6e3;border-radius:8px;padding:12px;min-height:46px;width:100%}input:focus,select:focus,textarea:focus{outline:3px solid #dbe9ff;border-color:#1463ec}label{font-size:14px;font-weight:600;color:#334960;margin:14px 0 7px;display:block}label small,label span{font-weight:400}
.panel{background:#fff;border:1px solid #dce5ef;border-radius:13px;padding:24px;box-shadow:var(--shadow);margin-top:18px;color:#172b42}.panel-title{font-size:18px;font-weight:750;color:#172b42}.panel p{font-size:14px}.muted{color:#52647a;font-size:14px;line-height:1.6}
.section-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:4px 0 24px}.section-intro h3{font-size:25px;margin:7px 0;letter-spacing:-.6px}.section-intro p{color:#52647a;margin:0;max-width:760px}.section-intro>button{flex-shrink:0}
.admin-tabs{display:flex;gap:6px;padding:0 0 14px;border-bottom:1px solid #dde5ef;flex-wrap:wrap;white-space:normal;overflow:visible}.admin-tabs button{font-size:13px;padding:9px 12px;border:1px solid #d7e0ea;color:#496078;background:white}.admin-tabs button.active{color:#fff;background:#1463ec;border-color:#1463ec}
.task-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0}.task-cards button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:13px;padding:23px;background:#fff;border:1px solid #dce5ef;border-radius:13px;transition:border-color .15s,transform .15s}.task-cards button:hover{border-color:#1463ec;transform:translateY(-2px)}.task-cards b{font-size:18px;color:#162c46}.task-cards span:not(.task-number){font-size:14px;line-height:1.65;color:#55677f;font-weight:400}.task-cards strong{font-size:13px;color:#1463ec;margin-top:auto;padding-top:12px}.task-number{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#1463ec;background:#edf3ff;font-size:14px}
.stats,.project-stats{gap:12px}.stat{background:white;border:1px solid #dce5ef;border-radius:12px;padding:17px 19px}.stat b{font-size:25px;color:#15314f}.stat span{font-size:13px;color:#52647a}.admin-kpis{margin-top:20px}
#adminProjectsTab>.grid2{display:block;max-width:740px}#adminImportTab>.panel{max-width:850px}#adminProjectsTab>.panel{margin-top:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.file-drop{border:2px dashed #b8cae2;background:#f7faff;padding:24px;border-radius:12px}.file-drop span{display:block;color:#64748b;font-size:13px;margin-top:8px}.file-drop input{margin-top:10px;background:#fff}.help-note{background:#f1f6ff;border-radius:10px;padding:16px;margin:18px 0;color:#415b79;font-size:14px}.help-note b{display:block;color:#204b82;margin-bottom:5px}
.success-next{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;padding:16px;border:1px solid #b7dfcf;border-radius:10px;background:#f0faf5}.success-next b{flex-basis:100%;color:#166347}.upload-result{color:#304864;background:#f8fafc;font:14px/1.7 inherit;min-height:0;border:0;padding:14px;overflow-wrap:anywhere}
.advanced-fields,details{margin:16px 0;padding:14px;border:1px solid #dce5ef;border-radius:10px}summary{cursor:pointer;font-weight:600;color:#335777}details p{font-weight:400}details label{margin-top:15px}
.checkbox-list{display:grid;gap:10px;margin:14px 0;max-height:360px;overflow:auto}.checkbox-list label{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dae4ef;border-radius:9px;margin:0;background:#f8fafc;font-weight:500}.checkbox-list input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:#1463ec}
.project-action-bar{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.search-label{margin:10px 0;max-width:400px}.search-label input{margin-top:6px}.panel-head .search-label{min-width:220px}.project-card{background:#fff;border:1px solid #dce5ef;color:#172b42;padding:23px;border-radius:12px}.project-card h3{font-size:21px}.project-card .progress{background:#e9eff7}.project-card .progress i{background:#1463ec}.project-card [style*="38e8ff"]{color:#1463ec!important}.project-card:focus-visible{outline:3px solid #9cbffe}
.review-queue{display:grid;gap:12px}.review-item{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #dbe4ef;border-radius:11px}.review-item>div{flex:1;min-width:0}.review-item b{display:block;font-size:15px;overflow-wrap:anywhere}.review-item p{margin:4px 0;color:#52647a;font-size:13px}.review-item .badge{display:inline-block;margin-top:4px}.empty-state{padding:36px 20px;text-align:center;color:#586b82;background:#f8fafc;border-radius:12px}.empty-state b{display:block;font-size:18px;margin-bottom:7px;color:#263e58}
.activity-row,.activity-card,.security-list div,.history-item,.admin-revision-row{background:#f8fafc;border:1px solid #e0e7ef;color:#172b42}.activity-row b,.activity-card b{font-size:14px}.activity-row small,.activity-card small,.activity-card span{font-size:12px;color:#52647a}.activity-list{margin-top:14px}.badge,.tag{background:#edf3ff;color:#2c5a9b;border:1px solid #d7e5fa;font-size:12px}.status-pill{font-size:12px}.status-on{background:#edf9f2;color:#16653d}.must-change{background:#fff7e7;color:#815b0b}.status-off{background:#fff0ef;color:#a53131}
table{font-size:14px}th{font-size:12px;color:#52647a;background:#f8fafc;letter-spacing:0}td,th{padding:14px 12px;border-color:#e6edf4}td .muted{font-size:12px}.mini{font-size:13px;color:#244669;background:#fff;border-color:#cfdce9;min-height:38px}
.modal-card{background:#fff;color:#172b42;border-color:#dbe4ed;padding:26px;border-radius:14px}.modal-card h2{font-size:25px}.modal-card .toolbar{gap:20px}.form-msg{font-size:14px}.form-msg.error{color:#b42318}.form-msg.ok{color:#166347}.review-dl dd,.review-dl dt{font-size:14px}.video-note-row p{white-space:pre-wrap;overflow-wrap:anywhere}.toast{font-size:14px;background:#173656;color:#fff;border:0;max-width:min(460px,90vw)}
.welcome-orb{display:none}.customer-hero,.welcome-card{background:#edf4ff;color:#193a61;border-color:#d4e2f6}.customer-hero p,.welcome-card p{color:#45617f}.customer-hero h3,.welcome-card h3{font-size:26px}.flow-list{font-size:14px;color:#4c627b}.security-list span{font-size:13px;color:#52647a}.hidden{display:none!important}
@media(min-width:1101px){.side{position:sticky;top:0;height:100vh}.shell{align-items:start}.task-navigation .nav-btn{min-height:42px}}
@media(max-width:1200px){.task-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.shell{display:block}.side{position:fixed;top:0;bottom:0;width:280px;height:100dvh;padding-top:60px}main{padding:22px}.admin-tabs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:14px}.section-intro{align-items:flex-start}.section-intro h3{font-size:23px}.task-cards button{padding:20px}}
@media(max-width:640px){main{padding:16px}.top{align-items:flex-start;gap:8px}.top h2{font-size:23px}.top-profile b,.top-home-btn{display:none}.top-actions{gap:5px}.panel{padding:18px}.section-intro{display:block}.section-intro>button{margin-top:16px}.task-cards{grid-template-columns:1fr;gap:10px}.task-cards button{gap:8px;padding:18px}.task-cards strong{padding-top:3px}.task-cards b{font-size:18px}.task-number{width:30px;height:30px}.form-row{grid-template-columns:1fr;gap:0}.admin-kpis,.stats,.project-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:14px}.stat b{font-size:23px}.stat span{font-size:12px}.panel-head{flex-wrap:wrap}.panel-head .search-label{width:100%;min-width:0}.review-item{align-items:flex-start;flex-wrap:wrap;padding:15px}.review-item>button{width:100%}.project-action-bar button{flex:1 1 45%}.modal{padding:10px}.modal-card{max-height:94dvh;width:100%;padding:20px}.activity-grid{grid-template-columns:1fr}.project-card{padding:19px}.top-left{min-width:0}.customer-hero h3{font-size:23px}.grid2{grid-template-columns:1fr}.section-intro p{font-size:14px}}
/* One navigation system: task links in the sidebar, actions on the home screen. */
#adminBtn,.admin-tabs{display:none!important}
.top{background:#f4f7fb}.mobile-menu-btn,.mobile-side-close{background:#fff;color:#244669;border-color:#cfdce9}
.panel label,.modal label,.login-panel label{font-size:14px;color:#334960}.table-scroll{background:#fff;border-color:#dce5ef;max-width:100%}
.task-navigation details{border:0;padding:0;margin:5px 0}.task-navigation summary{font-size:13px;padding:12px;color:#66788e}
@media(max-width:1100px){.side:not(.mobile-open){visibility:hidden;pointer-events:none}.side.mobile-open{visibility:visible;pointer-events:auto;transform:translateX(0)}.top{background:rgba(244,247,251,.98)}.mobile-side-close{top:10px;right:12px}}

.side{min-width:0;overflow-x:hidden}.side>*{min-width:0;max-width:100%}.side .nav-btn{white-space:normal;overflow-wrap:anywhere}.task-navigation{min-width:0;width:100%}.upload-result{white-space:pre-wrap;max-width:100%}.table-scroll{overflow-x:auto}#managedLines input{width:20px;min-height:20px}#adminLinesTab .panel{max-width:1100px}#adminLinesTab .danger{color:#b42318;border-color:#f3b4ae}button:focus-visible{outline:3px solid #9cbffe;outline-offset:2px}

/* Company-first definition navigation */
.definition-hierarchy{display:flex!important;flex-direction:column;gap:24px;min-width:0}
.definition-firm{border:1px solid #d7e4f5;border-radius:16px;padding:20px;background:#fff;min-width:0}
.definition-firm>h2{font-size:28px;font-weight:800;color:#0b2b52;margin:0 0 18px;overflow-wrap:anywhere}
.definition-location{border-top:1px solid #e2eaf5;padding-top:12px;margin-top:12px}
.definition-location>h3{font-size:19px;color:#325777;margin:0 0 12px}
.definition-stage{padding:12px;background:#f6f9ff;border-radius:12px;margin-top:10px}
.definition-stage-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.definition-stage-header h4{margin:0;font-size:16px;color:#183b61}
.definition-parcels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}
.definition-parcel-card{min-width:0;padding:16px;background:#fff;border:1px solid #d7e4f5;border-radius:12px}
.definition-actions{display:flex;gap:8px;flex-wrap:wrap}.definition-parcel-card h3{overflow-wrap:anywhere}
@media(max-width:600px){.definition-firm{padding:12px}.definition-firm>h2{font-size:24px}.definition-stage{padding:10px}}

/* Video archive: stage and category hierarchy */
.archive-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:16px 0}
.archive-filters label{display:flex;flex-direction:column;gap:6px}.archive-filters input,.archive-filters select{width:100%;min-height:44px;box-sizing:border-box}
.archive-bulk{background:#f0f6ff;border:1px solid #ccdcf2;border-radius:12px;padding:18px;margin:18px 0}.archive-bulk input[type=checkbox],.archive-check input{width:22px;height:22px;vertical-align:middle}.archive-bulk p{font-size:13px}.archive-bulk #archiveSelectionCount{margin-left:18px}
.archive-company{margin-top:28px}.video-archive-stage{border:1px solid #dbe4ef;border-radius:12px;margin:12px 0;padding:12px}.video-archive-stage>summary{font-weight:700;font-size:18px}.archive-category{margin:12px 0 0;padding:10px;background:#f8fafc;border-radius:8px}.archive-category>summary{font-weight:600;color:#245481}#companyVideoList summary{cursor:pointer;min-height:44px;align-content:center}
.archive-video{display:flex;gap:12px;flex-wrap:wrap;background:white;padding:14px;border-radius:8px;margin-top:10px}.archive-video-info{flex:1;min-width:180px;overflow-wrap:anywhere}.archive-video-actions{display:flex;gap:8px;flex-wrap:wrap}.archive-video button{min-height:44px}.archive-check{min-width:44px;min-height:44px;display:grid;place-items:center}
@media(max-width:600px){.archive-video-actions{width:100%}.archive-video-actions button{flex:1}.video-archive-stage{padding:8px}.archive-bulk{padding:12px}}
