:root{
  --navy:#062233;--navy2:#0b3247;--ink:#0a2234;--muted:#6b7c88;--line:#dbe4ea;
  --panel:#ffffff;--bg:#f4f7f9;--gold:#d89b2b;--blue:#1476a8;--green:#25855d;--amber:#c48116;
  --red:#bd3b3b;--shadow:0 14px 36px rgba(6,34,51,.10);--radius:18px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.boot-screen{min-height:100vh;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;gap:18px}.boot-logo{width:190px;background:white;border-radius:24px;padding:28px}.spinner{width:34px;height:34px;border:4px solid rgba(255,255,255,.25);border-top-color:white;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.auth-shell{min-height:100vh;background:linear-gradient(145deg,#041b29,#0a4058);display:grid;place-items:center;padding:28px}.auth-card{width:min(480px,100%);background:white;border-radius:28px;padding:36px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.auth-logo{display:block;width:170px;margin:0 auto 22px}.auth-card h1{font-size:28px;margin:8px 0}.auth-card p{color:var(--muted);margin:0 0 24px}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0}.field label{font-weight:700;font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:white;color:var(--ink)}.field textarea{min-height:92px;resize:vertical}.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center}.btn-primary{background:var(--navy);color:white}.btn-secondary{background:#eaf1f5;color:var(--ink)}.btn-gold{background:var(--gold);color:#17212a}.btn-danger{background:#f9e4e4;color:#8d2424}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed}.auth-error{background:#fdeaea;color:#9d2626;border-radius:12px;padding:12px;margin:12px 0}
.shell{min-height:100vh}.topbar{height:76px;background:var(--navy);color:white;display:flex;align-items:center;gap:18px;padding:0 24px;position:sticky;top:0;z-index:30;box-shadow:0 3px 18px rgba(0,0,0,.14)}.top-logo{height:50px;background:white;border-radius:11px;padding:7px}.top-title{font-weight:900;letter-spacing:.2px}.top-sub{font-size:12px;color:#bcd0da}.spacer{flex:1}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#174e67;font-weight:900}.sidebar{position:fixed;left:0;top:76px;bottom:0;width:250px;background:#092839;color:#d8e7ee;padding:18px 12px;overflow:auto}.nav-btn{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:12px 14px;border-radius:11px;font-weight:750;cursor:pointer;margin:2px 0}.nav-btn:hover,.nav-btn.active{background:#164158;color:white}.nav-section{padding:18px 14px 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7fa3b3}.main{margin-left:250px;padding:26px;max-width:1500px}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:22px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:5px 0 0;color:var(--muted)}
.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:white;border:1px solid #e7edf1;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stat-label{color:var(--muted);font-size:13px;font-weight:700}.stat-value{font-size:34px;font-weight:900;margin-top:5px}.stat-note{font-size:12px;color:var(--muted);margin-top:5px}.hero{background:linear-gradient(135deg,#082d40,#0f5875);color:white;display:grid;grid-template-columns:1.6fr 1fr;align-items:center;min-height:230px}.hero h2{font-size:36px;margin:0 0 10px}.hero p{color:#d5e5ec;max-width:720px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.progress-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) var(--progress),rgba(255,255,255,.16) 0);margin:auto;position:relative}.progress-ring:before{content:"";position:absolute;inset:14px;background:#0b3d53;border-radius:50%}.progress-ring strong{position:relative;font-size:32px}.progress-ring span{position:absolute;top:93px;font-size:11px;color:#cfe0e7}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.search{flex:1;min-width:230px;border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:white}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:white}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 14px;border-bottom:1px solid #edf2f5;text-align:left;font-size:13px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#617582;background:#f8fafb}.table tr:hover td{background:#fbfdfe}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.pill-active,.pill-complete{background:#e4f4ed;color:#1d6849}.pill-inactive,.pill-skip_for_now{background:#fff2d9;color:#8b5a0c}.pill-not_applicable{background:#eef1f3;color:#60717c}.pill-in_progress{background:#dfeff8;color:#155f84}.pill-not_started{background:#f0f3f5;color:#6c7b85}.pill-critical{background:#fde8e8;color:#9b2727}.pill-high{background:#fff0dd;color:#9b5a04}
.section-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.section-card{background:white;border:1px solid var(--line);border-radius:16px;padding:17px;display:flex;flex-direction:column;gap:12px;min-height:170px}.section-card h3{margin:0;font-size:18px}.section-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.section-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.section-actions .btn{padding:8px 10px;font-size:12px}.asset-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer}.asset-thumb{height:140px;background:linear-gradient(135deg,#dce8ee,#eef4f7);display:grid;place-items:center;color:#76909d;font-size:42px}.asset-body{padding:14px}.asset-body h3{margin:0 0 5px;font-size:16px}.asset-code{font-size:11px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(3,18,27,.66);z-index:80;display:grid;place-items:center;padding:20px}.modal{width:min(760px,100%);max-height:90vh;overflow:auto;background:white;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.modal-head{display:flex;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:22px}.modal-body{padding:22px}.modal-foot{padding:16px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.close-btn{margin-left:auto;border:0;background:#eef3f6;width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.upload-box{border:2px dashed #c9d7df;border-radius:14px;padding:16px;background:#f9fbfc;margin:10px 0}.upload-box strong{display:block;margin-bottom:5px}.upload-box input{width:100%}.file-note{font-size:12px;color:var(--muted)}.doc-list{display:flex;flex-direction:column;gap:10px}.doc-row{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:13px;background:white}.doc-icon{width:44px;height:44px;border-radius:10px;background:#e9f1f5;display:grid;place-items:center;font-size:21px}.doc-main{flex:1;min-width:0}.doc-title{font-weight:850}.doc-meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty{padding:40px 20px;text-align:center;color:var(--muted);background:white;border:1px dashed #c9d7df;border-radius:16px}.notice{background:#eaf5fb;border:1px solid #cce5f1;border-radius:13px;padding:13px;color:#225e78}.warning{background:#fff6e6;border:1px solid #efd9a8;border-radius:13px;padding:13px;color:#785511}.errorbox{background:#fdeaea;border:1px solid #f3c2c2;border-radius:13px;padding:13px;color:#9c2929}.successbox{background:#e9f6ef;border:1px solid #c9ead9;border-radius:13px;padding:13px;color:#276849}.photo-preview{width:100%;max-height:300px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
#toast-root{position:fixed;right:22px;bottom:22px;z-index:120;display:flex;flex-direction:column;gap:8px}.toast{background:#0b2f42;color:white;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);max-width:360px}.toast.error{background:#922f2f}.toast.success{background:#216b50}
.mobile-nav{display:none}
@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,1fr)}.section-list{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-right{display:none}}
@media(max-width:760px){.topbar{height:64px;padding:0 12px}.top-logo{height:42px}.top-title{font-size:14px}.top-sub,.user-name{display:none}.sidebar{display:none}.main{margin:0;padding:16px 14px 86px}.page-head h1{font-size:25px}.grid-4,.grid-3,.grid-2,.section-list,.form-grid{grid-template-columns:1fr}.hero{padding:20px;min-height:auto}.hero h2{font-size:29px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;background:var(--navy);z-index:50;padding:7px env(safe-area-inset-right) calc(7px + env(safe-area-inset-bottom)) env(safe-area-inset-left)}.mobile-nav button{border:0;background:transparent;color:#c7dbe4;font-size:10px;font-weight:700;padding:8px 3px}.mobile-nav button span{display:block;font-size:19px;margin-bottom:3px}.mobile-nav button.active{color:white}.modal-backdrop{padding:0;align-items:end}.modal{border-radius:22px 22px 0 0;max-height:94vh}.table{min-width:650px}}


/* v1.2 POC AI commissioning */
.ai-chip{font-size:11px;font-weight:900;letter-spacing:.06em;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);white-space:nowrap}.ai-chip.ready{background:#163d32;color:#90efc5}.ai-chip.off{background:#46351c;color:#ffd083}.poc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.poc-card{background:#fff;border:1px solid #dfe8ed;border-radius:18px;padding:22px;box-shadow:0 8px 30px rgba(6,34,51,.05)}.poc-icon{font-size:34px}.poc-kicker{font-size:11px;font-weight:900;color:#1480ae;letter-spacing:.1em;margin-top:12px}.poc-card h2{margin:6px 0 8px}.poc-stats{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.poc-stats span{background:#edf4f7;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.poc-actions{display:flex;gap:8px;flex-wrap:wrap}.poc-mini{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f5}.poc-mini>span{font-size:22px}.warningbox{padding:15px 17px;background:#fff4d9;border:1px solid #f0ce77;color:#624912;border-radius:12px;margin-bottom:18px}.warningbox code{font-weight:900}.flow-steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;background:#eef7fb;border-radius:12px;margin-bottom:14px;font-size:12px}.flow-steps b{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#0a587a;color:#fff}.upload-box.featured{border:2px dashed #8fc1d5;background:#f5fbfd;padding:22px}.review-list{display:grid;gap:12px;margin-top:14px}.review-card{border:1px solid #dce7ec;border-radius:14px;padding:16px}.review-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.confidence{font-weight:900;background:#edf6ef;color:#246443;padding:6px 9px;border-radius:999px;font-size:12px}.review-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.keyline{font-size:13px;background:#f4f7f8;padding:7px 9px;border-radius:8px}.manual-suggestions{margin-top:14px;border-top:1px solid #e7eef1;padding-top:12px}.manual-suggestion{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f4}.manual-suggestion a{color:#0b6d99;font-weight:800;text-decoration:none}.btn-small{padding:7px 10px;font-size:11px}.json-box{white-space:pre-wrap;max-height:260px;overflow:auto;background:#091c26;color:#d4eef8;padding:12px;border-radius:10px;font-size:12px}
@media(max-width:820px){.poc-grid{grid-template-columns:1fr}.ai-chip{display:none}.review-head{align-items:flex-start}.manual-suggestion{align-items:flex-start;flex-direction:column}.flow-steps span{display:none}}

/* v1.4 Full App Integration */
.app-kicker{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.hero-kicker{color:#a8c9d7;font-weight:800}.job-chip{background:#123f54;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:#d7e8ef}.warningbox{background:#fff4df;border:1px solid #eed39d;border-radius:14px;padding:14px;color:#77520d;margin-bottom:18px}.commission-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.commission-strip>div{background:white;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:3px}.commission-strip strong{font-size:20px}.commission-strip span{font-size:12px;color:var(--muted)}.poc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.poc-card{background:white;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.poc-card h2{margin:6px 0 8px}.poc-card p{color:var(--muted);min-height:50px}.poc-icon{font-size:30px}.poc-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:900}.poc-stats{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.poc-stats span{font-size:11px;font-weight:800;background:#eef3f6;border-radius:999px;padding:6px 9px}.poc-actions{display:flex;gap:8px;flex-wrap:wrap}.poc-failed{border-color:#eabcbc}.mini-error{background:#fdecec;color:#8b2d2d;border-radius:10px;padding:9px;font-size:12px;margin:8px 0}.poc-mini{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f4}.poc-mini:last-child{border-bottom:0}.poc-mini-btn{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}.poc-mini-btn:hover{background:#f8fbfc}.workspace-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.workspace-summary>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f9fbfc}.workspace-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.workspace-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 20px}.workspace-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.asset-mini-card{border:1px solid var(--line);background:white;border-radius:12px;padding:12px;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;text-align:left;color:inherit;cursor:pointer}.asset-mini-card:hover{border-color:#adc4d0;background:#fbfdfe}.asset-mini-card small{display:block;color:var(--muted);margin-top:2px}.photo-row-list{display:grid;gap:8px}.photo-row{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px}.photo-row small{display:block;color:var(--muted);margin-top:2px}.compact{padding:18px 14px}.capture-tip{padding:12px 14px;background:#f7fafb;border:1px solid var(--line);border-radius:12px;margin:12px 0}.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.source-grid.two-source{grid-template-columns:repeat(2,minmax(0,1fr))}.source-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:white;display:flex;flex-direction:column;gap:4px;cursor:pointer;min-height:120px;justify-content:center}.source-card:hover{border-color:#8eb4c5;background:#f9fcfd}.source-icon{font-size:28px}.source-card small{color:var(--muted)}.nameplate-source{background:#fffaf0}.draft-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px}.draft-files{display:grid;gap:7px}.draft-file{display:grid;grid-template-columns:30px 1fr 32px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:9px}.draft-file small{display:block;color:var(--muted)}.icon-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:white;cursor:pointer;font-size:18px}.review-list{display:grid;gap:12px}.review-card{border:1px solid var(--line);border-radius:15px;padding:15px}.review-head{display:flex;justify-content:space-between;gap:16px}.review-head h3{margin:3px 0}.review-badges{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap}.confidence,.identity-badge{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.confidence{background:#eef3f6}.identity-badge.confirmed{background:#e5f5ed;color:#23684a}.identity-badge.probable{background:#fff2d8;color:#86590e}.identity-badge.unknown{background:#f0f2f4;color:#65737b}.review-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.manual-suggestions{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.manual-suggestion{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #eef2f4}.manual-suggestion:last-child{border-bottom:0}.manual-pending{margin-top:10px;font-size:12px;color:var(--muted);background:#f7fafb;padding:9px;border-radius:9px}.review-footer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.btn-small{padding:7px 9px;font-size:11px}.keyline{padding:8px 0}.asset-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.asset-detail-head h3{margin:5px 0}.asset-detail-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.asset-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.asset-facts>div{border:1px solid var(--line);border-radius:11px;padding:10px}.asset-facts span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}.asset-detail-grid{margin-top:14px}.simple-list{display:grid;gap:8px}.simple-list>div{border:1px solid var(--line);border-radius:10px;padding:10px}.simple-list small{display:block;color:var(--muted);margin-top:3px}.clickable-row{cursor:pointer}.fault-card{width:100%;text-align:left;color:inherit;border:1px solid #e7edf1;cursor:pointer}.fault-card:hover{border-color:#b8cbd5}.recent-docs{margin-bottom:16px}.viewer-backdrop{position:fixed;inset:0;background:rgba(2,15,23,.82);z-index:150;padding:14px}.document-viewer{height:100%;background:white;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.viewer-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);min-height:64px}.viewer-note{background:#fff6e6;border-bottom:1px solid #efd9a8;padding:9px 14px;font-size:12px;color:#74520d}.viewer-body{flex:1;min-height:0;background:#e8eef1}.document-frame{border:0;width:100%;height:100%;background:white}.viewer-image-wrap{height:100%;display:grid;place-items:center;overflow:auto;padding:20px}.viewer-image-wrap img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 8px 30px rgba(0,0,0,.18)}.json-box{white-space:pre-wrap;background:#f7fafb;border:1px solid var(--line);padding:12px;border-radius:10px;max-height:320px;overflow:auto}.ai-chip{border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.ai-chip.ready{background:#1d6b4f}.ai-chip.off{background:#7e3b3b}
@media(max-width:900px){.poc-grid{grid-template-columns:1fr}.commission-strip{grid-template-columns:1fr}.workspace-summary{grid-template-columns:repeat(2,1fr)}.workspace-assets{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr 1fr}.asset-detail-head{display:block}.asset-detail-actions{justify-content:flex-start;margin-top:12px}.asset-facts{grid-template-columns:repeat(2,1fr)}.job-chip,.user-name{display:none}}
@media(max-width:560px){.source-grid,.source-grid.two-source{grid-template-columns:1fr}.workspace-summary{grid-template-columns:1fr 1fr}.asset-facts{grid-template-columns:1fr}.review-head{display:block}.review-badges{margin-top:8px}.viewer-backdrop{padding:0}.document-viewer{border-radius:0}.viewer-head strong{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-head a{display:none}}

/* v1.4 Full App Integration */
.full-hero{min-height:250px}.card-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.card-head h3{margin:0}.card-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.list-button{width:100%;border:1px solid var(--line);background:white;border-radius:11px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:inherit;cursor:pointer}.list-button:hover{background:#f8fbfc;border-color:#b9cdd7}.list-button small{display:block;color:var(--muted);margin-top:3px}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-attention td{background:#fffaf0!important}.segmented{display:inline-flex;background:#e9f0f4;border-radius:12px;padding:4px;margin-bottom:18px}.segmented button{border:0;background:transparent;padding:9px 14px;border-radius:9px;font-weight:800;color:#55707d;cursor:pointer}.segmented button.active{background:white;color:var(--ink);box-shadow:0 3px 10px rgba(6,34,51,.09)}.system-card h3{margin:4px 0 8px}.relationship-board{display:grid;gap:12px}.relationship-node{border-left:2px solid #c9d7df;padding-left:14px}.relationship-asset{width:min(520px,100%);border:1px solid var(--line);border-radius:12px;background:white;padding:11px 13px;text-align:left;cursor:pointer;color:inherit}.relationship-asset strong,.relationship-asset small{display:block}.relationship-asset small{color:var(--muted);margin-top:3px}.relationship-children{display:grid;gap:8px;margin:8px 0 0 20px}.space-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.space-summary>div{border:1px solid var(--line);border-radius:11px;padding:11px}.space-summary span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.space-summary strong{font-size:22px}.chip-list{display:flex;gap:7px;flex-wrap:wrap}.chip-list span,.chip-button{border:1px solid var(--line);background:#f7fafb;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;color:var(--ink)}.chip-button{cursor:pointer}.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.detail-title-row h3{margin:3px 0}.relationship-summary{border:1px solid var(--line);border-radius:13px;padding:12px;margin:14px 0;background:#fbfdfe;display:grid;gap:9px}.relationship-summary span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.text-link{border:0;background:transparent;color:#0b6d99;font-weight:850;padding:0;cursor:pointer}.timeline{display:grid;gap:9px}.timeline>div{border-left:3px solid #9ec0cf;padding:4px 0 4px 11px}.timeline strong,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:3px}.spinner-inline{width:32px;height:32px;border:4px solid #d6e2e8;border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite;margin:20px auto}.validation-score{display:flex;gap:10px;align-items:center;margin-bottom:12px}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.comparison-grid>div{border:1px solid var(--line);border-radius:11px;padding:10px}.comparison-grid span,.comparison-grid strong,.comparison-grid b{display:block}.comparison-grid span{font-size:10px;text-transform:uppercase;color:var(--muted)}.comparison-grid strong{font-size:12px;color:#71818b;margin-top:3px}.comparison-grid b{margin-top:5px}.diagnostic-summary{display:flex;gap:10px;justify-content:space-between;align-items:center}.check-list{display:grid;gap:10px}.check-row{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px}.check-prompt strong,.check-prompt small{display:block}.check-prompt small{color:var(--muted);margin-top:3px}.check-capture{display:flex;gap:6px;align-items:center}.check-input,.check-note{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px}.report-buttons{display:flex;gap:8px;flex-wrap:wrap}.metric-list{display:grid;gap:0}.metric-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf2f5}.metric-list>div:last-child{border-bottom:0}.metric-list span{color:var(--muted)}.metric-list strong{text-align:right}
@media(max-width:900px){.check-row{grid-template-columns:1fr}.comparison-grid{grid-template-columns:1fr}.space-summary{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.space-summary{grid-template-columns:1fr}.segmented{display:flex;width:100%}.segmented button{flex:1;padding:8px}.detail-title-row{display:block}.detail-title-row>.pill,.detail-title-row>.identity-badge{margin-top:8px}}

/* v1.5 Integrated Intelligence */
.twin-visual{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#061e2f,#0b3c54);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.06)}
.twin-stage{--rx:0deg;--ry:0deg;position:relative;min-height:520px;overflow:hidden;background:radial-gradient(circle at 60% 30%,rgba(40,130,170,.25),transparent 50%);perspective:1200px}
.twin-visual.compact .twin-stage{min-height:390px}
.twin-render{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(1.018);transition:transform .18s ease-out;transform-origin:center center;filter:saturate(1.03) contrast(1.02)}
.twin-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 34%,transparent 66%,rgba(255,255,255,.04))}
.twin-hotspot{position:absolute;z-index:3;transform:translate(-50%,-50%);border:0;background:transparent;color:white;cursor:pointer;display:flex;align-items:center;gap:7px;text-shadow:0 2px 6px rgba(0,0,0,.7)}
.twin-hotspot span{width:17px;height:17px;border-radius:50%;background:#f0aa2b;border:3px solid white;box-shadow:0 0 0 7px rgba(240,170,43,.22),0 4px 10px rgba(0,0,0,.28)}
.twin-hotspot b{background:rgba(3,27,40,.82);padding:5px 8px;border-radius:8px;font-size:11px;white-space:nowrap}
.twin-hotspot:hover span{transform:scale(1.18)}
.twin-visual-bar{display:flex;align-items:center;gap:12px;padding:14px 16px;color:white;background:rgba(3,25,38,.94);border-top:1px solid rgba(255,255,255,.12)}
.twin-visual-bar strong,.twin-visual-bar span{display:block}.twin-visual-bar span{font-size:12px;color:#bcd4de;margin-top:3px}
.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.photo-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.photo-library-card{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 7px 20px rgba(6,34,51,.07)}
.photo-thumb{height:170px;background:#dbe7ec;display:grid;place-items:center;overflow:hidden;cursor:pointer}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb.loading:after{content:'Loading photo…';color:#6f818c;font-size:12px}
.photo-card-body{padding:12px}.photo-card-body strong,.photo-card-body small{display:block}.photo-card-body small{color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.collector-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}.collector-flow span{padding:9px 11px;border-radius:10px;background:#f4f8fa;border:1px solid var(--line);font-size:12px;font-weight:800}.collector-flow b{color:#7f95a0}.ai-collector{margin-bottom:18px;border-color:#bcdbe8;background:linear-gradient(145deg,#fff,#f6fbfd)}
.asset-status-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 2px}.asset-status-strip .pill{background:#eef5f8;color:#24566b}
.ai-review-strip{margin-bottom:18px;border-color:#f0d59b;background:#fffdf8}.research-basis{display:grid;grid-template-columns:1fr 1.8fr;gap:12px;margin:13px 0}.research-basis>div{border:1px solid var(--line);border-radius:12px;padding:11px}.research-basis span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.research-task-list{display:grid;gap:12px}.research-task{border:1px solid var(--line);border-radius:14px;padding:14px;background:white}.research-task p{color:var(--muted);font-size:13px}.research-task h4{margin:0 0 5px}.spares-list{display:grid;gap:6px;margin-top:10px}.spare-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:8px 0;border-bottom:1px solid #edf2f5;font-size:12px}.spare-row:last-child{border-bottom:0}.job-plan-text{white-space:pre-wrap;line-height:1.6;background:#f8fafb;border:1px solid var(--line);border-radius:12px;padding:14px}.source-list{display:grid;gap:7px}.source-list a{display:block;color:#0d6f9b;font-weight:750;text-decoration:none}.source-list small{color:var(--muted)}
.lifecycle-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.lifecycle-review-grid>div{border:1px solid var(--line);border-radius:11px;padding:10px}.lifecycle-review-grid span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.lifecycle-risk-high{color:#9d2e2e}.lifecycle-risk-medium{color:#956008}
.yard-total{display:flex;align-items:end;justify-content:space-between;gap:12px;background:#082f43;color:white;border-radius:14px;padding:15px;margin:12px 0}.yard-total span{color:#c4dce6}.yard-total strong{font-size:26px}.benchmark-list{display:grid;gap:8px}.benchmark-row{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:11px}.benchmark-row strong,.benchmark-row small{display:block}.benchmark-row small{color:var(--muted);margin-top:3px}.benchmark-row>div:last-child{display:flex;align-items:center;gap:8px;white-space:nowrap}
.mini-table{width:100%;border-collapse:collapse}.mini-table th,.mini-table td{padding:10px 9px;border-bottom:1px solid #edf2f5;text-align:left;font-size:12px}.mini-table th{text-transform:uppercase;font-size:10px;color:var(--muted)}.link-button{border:0;background:transparent;padding:0;color:#0c6e99;font-weight:800;cursor:pointer;text-align:left}.danger-lite{color:#9a3131!important;border-color:#e7bcbc!important;background:#fff8f8!important}.priority-cost{font-weight:900}.source-tag{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef3f6;font-size:10px;font-weight:800;margin:2px}
@media(max-width:1000px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.twin-stage,.twin-visual.compact .twin-stage{min-height:360px}.lifecycle-review-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.twin-stage,.twin-visual.compact .twin-stage{min-height:285px}.twin-visual-bar{align-items:flex-start;flex-wrap:wrap}.twin-hotspot b{display:none}.photo-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-thumb{height:125px}.research-basis,.lifecycle-review-grid{grid-template-columns:1fr}.benchmark-row{display:block}.benchmark-row>div:last-child{margin-top:8px}.mini-table{min-width:760px}.dashboard-metrics{grid-template-columns:1fr 1fr}}

/* v1.6 mobile access and proposal review */
.mobile-menu-button{display:none;border:1px solid #537789;background:transparent;color:white;border-radius:9px;padding:7px 10px;font-size:20px;cursor:pointer}
.task-select{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0;font-weight:700}.task-select input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:#1476a8}
.source-list>div{display:flex;flex-direction:column;gap:3px;padding:7px 0}.source-list span{font-size:12px;color:var(--muted)}
.table td>small{display:block;color:var(--muted);margin-top:4px}.page-head{flex-wrap:wrap}.form-grid input[type=number]{min-width:0}
@media(max-width:760px){.mobile-menu-button{display:block}.sidebar.is-open{display:block;top:64px;bottom:70px;z-index:60;box-shadow:12px 0 36px rgba(0,0,0,.25)}.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.modal-foot{flex-wrap:wrap}.modal-foot .btn{flex:1}.task-select .pill{margin-left:30px}.topbar{gap:9px}.job-chip{font-size:10px;max-width:100px}.table-wrap{max-width:100%;overflow:auto}}

/* v1.7 grouped locations, reliable photo view and compact editable dashboard */
.location-section{border:1px solid var(--line);border-radius:16px;background:white;margin:16px 0;overflow:hidden}.location-section>summary{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:16px 18px;background:#eef5f8;cursor:pointer}.location-section>summary span{font-size:12px;color:var(--muted)}.location-section>.doc-list,.location-section>.photo-library-grid,.location-assets{padding:16px}.location-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.location-asset{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:14px;background:white;cursor:pointer}.location-asset small{display:block;margin-top:4px;color:var(--muted)}.photo-thumb{width:100%;background-size:cover;background-position:center}.viewer-image-wrap{display:flex;align-items:center;justify-content:center;position:relative;height:100%;min-height:0;overflow:auto;padding:12px}.viewer-image-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain}.viewer-image-wrap img[hidden]{display:none}.viewer-image-wrap img.zoomed{max-height:none;max-width:none;width:auto;height:auto}.viewer-head a{display:inline-flex}.twin-visual.compact .twin-stage{min-height:0;height:250px}.twin-stage{min-height:0;height:420px}.twin-render{object-fit:contain;transform:none}.twin-hotspot.draggable{cursor:grab;touch-action:none}.twin-hotspot b{display:inline-block!important}.twin-visual-bar{flex-wrap:wrap}.twin-visual-bar select{max-width:190px}.asset-intelligence-summary{border:1px solid #b8d6e5;border-radius:14px;padding:14px;margin-bottom:16px;background:#f4fafc}#viewerError{max-width:80%;text-align:center;background:white;color:#934040;padding:20px;border-radius:12px}#viewerError[hidden]{display:none}
@media(max-width:760px){.twin-visual.compact .twin-stage{height:210px}.twin-stage{height:290px}.location-assets{grid-template-columns:1fr}.viewer-head{flex-wrap:wrap}.viewer-head strong{max-width:none;flex:1}.viewer-head a{display:inline-flex!important}.viewer-body{min-height:0}.twin-hotspot b{font-size:9px;padding:3px 5px}.twin-hotspot span{width:12px;height:12px}.twin-visual-bar select{max-width:150px}.location-section>.photo-library-grid{padding:10px}.asset-facts{grid-template-columns:repeat(2,1fr)}}
.asset-spare-group{background:#fff;border:1px solid var(--line,#dae3e8);border-radius:14px;margin-bottom:10px;overflow:hidden}.asset-spare-group>summary{padding:18px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}.asset-spare-group summary small,.service-item small{display:block;color:var(--muted,#657987);margin-top:5px}.asset-spare-group[open]>summary{border-bottom:1px solid var(--line,#dae3e8)}.asset-spare-body{padding:16px}.service-item{border-top:1px solid var(--line,#dae3e8);padding:15px 0}.service-item-main{display:grid;grid-template-columns:minmax(180px,2fr) 1fr 1fr auto;gap:14px;align-items:center}.item-more{margin-top:10px;font-size:13px}.item-more>summary,.compact-actions>summary{cursor:pointer;color:var(--muted,#657987)}.compact-actions{position:relative}.compact-actions[open]{padding:10px;border:1px solid var(--line,#dae3e8);border-radius:8px;background:white}.asset-intelligence-summary>summary{cursor:pointer;margin-bottom:10px}.location-section>summary{cursor:pointer}@media(max-width:760px){.service-item-main{grid-template-columns:1fr 1fr}.service-item-main>div:first-child{grid-column:1/-1}.service-item-main>button{grid-column:1/-1;justify-self:start}.asset-spare-group>summary{padding:14px}.asset-spare-body{padding:12px}}
.stock-view-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.stock-flag-low{color:#af3a30!important;font-weight:700}.stock-shortlist{padding:8px 18px}

/* Nauticore v1.9 visual maintenance, curated documents, mechanic, compartment mapping */
.v19-version{font-size:10px;letter-spacing:.08em;background:#f3bc4f;color:#172f39;padding:3px 7px;border-radius:30px;margin-left:6px;vertical-align:middle}.v19-vessel-picker{min-width:165px;max-width:255px;padding:9px;border:1px solid #456d7d;border-radius:10px;background:#0d4255;color:#fff;font-size:12px;font-weight:650}
.v19-hero{background:linear-gradient(115deg,#092b40,#11516a);color:#fff;border-radius:20px;padding:27px 28px;display:flex;align-items:center;gap:18px;justify-content:space-between;box-shadow:0 16px 45px rgba(7,39,58,.14)}.v19-hero h2{font-size:28px;line-height:1.2;margin:5px 0 9px}.v19-hero p{color:#cce2eb;max-width:720px;line-height:1.6}.v19-hero-graphic{font-size:74px;opacity:.9;min-width:110px;text-align:center}.v19-kicker{display:block;color:#b28836;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.v19-hero .v19-kicker{color:#eccb78}.v19-notice{border:1px solid #b5d7e7;background:#f0f8fc;color:#24556a;padding:13px 15px;border-radius:12px;font-size:13px;margin:15px 0;line-height:1.5}.v19-warning{background:#fff1e7;border:1px solid #f0b890;color:#7d4b25;padding:13px;border-radius:12px;font-size:13px;margin:12px 0;line-height:1.55}.v19-warning p{margin:6px 0}.v19-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0}.v19-stats>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px}.v19-stats strong{display:block;color:var(--ink);font-size:27px;line-height:1.1}.v19-stats span{display:block;color:var(--muted);font-size:11px;margin-top:7px}.v19-stats .v19-urgent{border-color:#f5c4b7;background:#fff7f4}.v19-stats .v19-urgent strong{color:#ab493a}.v19-tabs{display:inline-flex;flex-wrap:wrap;background:#eaf0f5;padding:5px;border-radius:14px;margin:4px 0 18px}.v19-tabs button{border:0;border-radius:10px;padding:10px 14px;background:transparent;color:#557381;font-size:13px;font-weight:800;cursor:pointer}.v19-tabs button.active{background:white;color:#143e52;box-shadow:0 2px 10px rgba(5,31,47,.08)}
.v19-maint-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(278px,1fr));gap:15px}.v19-job-card{border:1px solid var(--line);border-radius:17px;background:white;padding:18px;box-shadow:0 9px 20px rgba(5,31,47,.04);display:flex;flex-direction:column;min-height:270px}.v19-job-card h3{font-size:18px;line-height:1.3;margin:9px 0 7px;color:#123f52}.v19-job-card p{font-size:12px;color:#607782;line-height:1.65;flex:1;margin:6px 0 14px}.v19-job-top{display:flex;align-items:start;justify-content:space-between}.v19-job-icon{font-size:29px;background:#eff6f9;border-radius:13px;padding:8px;line-height:1.4}.v19-badge{border-radius:50px;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex;white-space:nowrap}.v19-badge.danger{color:#9d3c31;background:#fff0ed}.v19-badge.warning{color:#8f651d;background:#fff3db}.v19-badge.success{color:#23755c;background:#e8f6ee}.v19-badge.muted{color:#5c7683;background:#eef3f6}.v19-job-asset{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#268299;margin-top:12px}.v19-job-info{border-top:1px solid #edf3f6;padding-top:12px;display:flex;flex-wrap:wrap;gap:5px 14px;color:#4f6d7b;font-size:11px}.v19-job-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.v19-job-detail-head{display:flex;align-items:center;gap:11px}.v19-job-detail-head small{display:block;color:var(--muted);margin-top:5px}.v19-job-detail-head .v19-badge{margin-left:auto}.v19-bigicon{font-size:34px;background:#eaf4f8;border-radius:14px;padding:9px}.v19-check-steps{display:grid;gap:9px}.v19-check-steps label{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);padding:13px;border-radius:11px;font-size:13px;line-height:1.65}.v19-check-steps input{width:17px;height:17px;accent-color:#158ea6;margin-top:2px}.v19-stepnum{font-weight:900;color:#318098}.v19-mini-parts{display:grid;gap:8px}.v19-mini-parts>div{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.v19-mini-parts span,.v19-footnotes{font-size:11px;color:var(--muted)}.v19-footnotes{margin-top:14px;line-height:1.5}.v19-timeline{overflow:auto}.v19-timeline-head,.v19-timeline-row{min-width:730px;display:grid;grid-template-columns:minmax(220px,2fr) repeat(6,minmax(55px,1fr));gap:3px;align-items:center;width:100%;padding:11px 7px;text-align:left}.v19-timeline-head{color:#577584;background:#eff4f7;border-radius:9px;font-size:12px}.v19-timeline-row{border:0;border-bottom:1px solid var(--line);color:#315366;background:transparent;cursor:pointer}.v19-timeline-row:hover{background:#f6fafc}.v19-timeline-row small{display:block;color:var(--muted);font-size:10px}.v19-timeline-row b{text-align:center;font-size:20px;color:#bbcbd1}.v19-timeline-row b.marked.warning{color:#b88428}.v19-timeline-row b.marked.danger{color:#be5848}.v19-timeline-row b.marked.success{color:#268f7a}
.v19-library-group{margin:24px 0}.v19-library-title{display:flex;justify-content:space-between;align-items:center;gap:13px;margin:0 0 12px}.v19-library-title h3{font-size:16px;margin:0}.v19-manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:13px}.v19-manual-card{background:white;border:1px solid var(--line);border-radius:15px;padding:16px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;min-height:96px}.v19-manual-icon{font-size:30px;text-align:center;background:#f2f7f9;padding:10px;border-radius:11px}.v19-manual-text{min-width:0}.v19-manual-text strong,.v19-manual-text small{display:block}.v19-manual-text strong{font-size:13px;line-height:1.4;margin:4px 0}.v19-manual-text small{font-size:11px;color:var(--muted);line-height:1.4}.v19-manual-extras{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px}.v19-manual-extras summary{cursor:pointer;font-size:11px;font-weight:800;color:#35778a}
.v19-mechanic-hero{margin-bottom:17px}.v19-mechanic-input{max-width:950px}.v19-vm-output{margin-top:18px;max-width:950px}.v19-vm-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.v19-vm-heading h2{font-size:20px;margin:8px 0}.v19-vm-suggestions{border:1px solid var(--line);border-radius:12px;padding:12px 15px;margin:13px 0}.v19-vm-suggestions h3{margin:4px 0 12px}.v19-vm-suggestions>div{padding:8px 0;border-top:1px solid var(--line);font-size:13px}.v19-vm-suggestions small{display:block;color:var(--muted);padding:5px 0}.v19-vm-step{border:2px solid #badde9;border-radius:15px;padding:18px;background:#f6fbfd}.v19-vm-step-top{font-size:11px;font-weight:900;letter-spacing:.08em;color:#317c90}.v19-vm-step h3{font-size:22px;margin:9px 0}.v19-vm-step p{line-height:1.65;font-size:14px}.v19-vm-expected{border-left:3px solid #79b7b0;padding:8px 13px;background:#ebf8f4;margin:15px 0}.v19-vm-expected p{margin:5px 0}.v19-vm-bottom{margin-top:22px}.v19-vm-bottom p{font-size:13px;line-height:1.6}
.v19-room-layout{border:1px solid #24465a;border-radius:20px;overflow:hidden;background:#0c2634;box-shadow:0 12px 28px rgba(8,35,51,.1)}.v19-room-ceiling{padding:18px 25px;color:#ebf8ff;background:linear-gradient(135deg,#113d50,#1c5c6b);display:flex;align-items:center;justify-content:space-between;gap:12px}.v19-room-ceiling small{color:#c8e3ea}.v19-room-label{font-weight:900;font-size:18px}.v19-room-floor{position:relative;min-height:400px;margin:15px 30px 25px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 46px,rgba(255,255,255,.06) 47px),repeating-linear-gradient(90deg,transparent 0px,transparent 46px,rgba(255,255,255,.06) 47px),linear-gradient(155deg,#234758,#153343);border:4px solid #7796a1;border-radius:58px 14px 55px 14px;box-shadow:inset 14px 15px 30px rgba(0,0,0,.2),5px 7px 18px rgba(0,0,0,.22);overflow:hidden}.v19-room-gridline{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 48%,rgba(255,255,255,.08) 50%,transparent 52%)}.v19-room-marker{position:absolute;z-index:4;transform:translate(-50%,-50%);background:#f5f9fc;color:#114152;border:1px solid #dce9f0;border-radius:11px;padding:7px 10px;display:flex;align-items:center;gap:7px;box-shadow:0 5px 14px rgba(0,0,0,.23);max-width:220px;cursor:pointer}.v19-room-marker b{font-size:11px;text-align:left;line-height:1.3;white-space:normal}.v19-room-marker span{font-size:20px}.v19-room-marker.editing{cursor:grab;touch-action:none;background:#fff3d7;border:2px dashed #b57927}.v19-room-bar{background:#143e51;color:#d2eaf1;padding:14px 23px;font-size:12px}.v19-room-assets{margin-top:19px}.v19-asset-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.v19-asset-tile{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px;text-align:left;cursor:pointer;color:#153f53}.v19-asset-tile span{font-size:23px;display:block}.v19-asset-tile strong{font-size:13px;display:block;margin:8px 0 4px}.v19-asset-tile small{color:var(--muted);font-size:11px}
.v19-spare-category{border-top:1px solid var(--line);padding:13px 0 5px}.v19-spare-category>h4{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#357286;margin:4px 0 8px}.v19-service-status{display:inline-flex;margin:4px 0;padding:4px 7px;background:#fef3de;border-radius:999px;color:#7b5e25;font-size:10px;font-weight:800}.v19-service-status.verified{background:#e8f6f0;color:#21765a}
@media(max-width:900px){.v19-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.v19-hero-graphic{display:none}.v19-vessel-picker{max-width:165px}.v19-manual-grid{grid-template-columns:1fr}}
@media(max-width:620px){.v19-hero{padding:19px}.v19-hero h2{font-size:22px}.v19-job-card{min-height:220px}.v19-maint-grid{grid-template-columns:1fr}.v19-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.v19-vessel-picker{min-width:95px;max-width:115px;font-size:10px}.v19-room-floor{min-height:280px;margin:12px}.v19-room-marker{max-width:130px;padding:4px}.v19-room-marker b{font-size:9px}.v19-room-ceiling{flex-wrap:wrap}.v19-manual-card{grid-template-columns:35px 1fr}.v19-manual-card .btn{grid-column:2}.v19-vm-heading{flex-wrap:wrap}}
.v19-job-photo{border:1px solid var(--line);border-radius:13px;margin:13px 0;min-height:52px;background:#f4f8fa;padding:12px;display:flex;justify-content:center;align-items:center;overflow:hidden}.v19-job-photo img{width:100%;max-height:280px;object-fit:contain;border-radius:9px}
@keyframes v19RoomOpen{from{opacity:.25;transform:perspective(900px) rotateX(9deg) scale(.96)}to{opacity:1;transform:perspective(900px) rotateX(0) scale(1)}}.v19-room-layout{animation:v19RoomOpen .36s ease-out}
@media(prefers-reduced-motion:reduce){.v19-room-layout{animation:none}}


/* NAUTICORE V1.9.1 VISUAL DESIGN REFRESH: intentionally obvious after deploy. */
.v191-release{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#d9f4ea;color:#123f42;border-radius:12px;padding:10px 17px;margin-bottom:15px;letter-spacing:.03em;font-size:11px;font-weight:750}
.v191-release>span:first-child{background:#035d61;color:white;padding:6px 9px;border-radius:7px;letter-spacing:.08em}.v191-release>span:last-child{margin-left:auto;color:#437b7a;font-size:10px}
.v191-hero{background:linear-gradient(114deg,#062b3a,#064658 56%,#116875);border-radius:21px;overflow:hidden;display:grid;grid-template-columns:1.12fr 1fr;min-height:325px;box-shadow:0 16px 38px rgba(0,37,48,.13);color:white}
.v191-hero-copy{padding:32px 32px 26px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.v191-eyebrow{color:#6fd6c5;letter-spacing:.14em;font-weight:800;font-size:10px;margin-bottom:12px}
.v191-hero h1{font-size:clamp(30px,3.5vw,48px);line-height:1.1;font-weight:850;letter-spacing:-.035em;color:white;margin:0}.v191-hero h1 span{display:block;font-size:clamp(21px,2.3vw,30px);line-height:1.23;color:#bfe4e4;font-weight:500;letter-spacing:-.035em;margin-top:10px}.v191-hero p{font-size:12px;line-height:1.7;color:#d2e4e8;max-width:490px;margin:14px 0 19px}
.v191-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.v191-action{border-radius:9px;border:1px solid rgba(255,255,255,.22);padding:11px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:800;font-size:11px;transition:transform .15s}.v191-action:hover{transform:translateY(-2px)}.v191-action b{font-size:17px}.v191-action.primary{color:#063743;background:#a3e2cd}.v191-action.secondary{color:#e0f6f3;background:rgba(255,255,255,.08)}.v191-hero-facts{display:flex;gap:19px;margin-top:23px;color:#b9dadd;font-size:10px}.v191-hero-facts strong{font-size:17px;color:white;padding-right:4px}
.v191-hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;background:radial-gradient(ellipse at 55% 38%,rgba(109,206,212,.32),rgba(3,25,43,.11) 60%);padding:18px}.v191-hero-art img{object-fit:contain;width:100%;max-height:300px;filter:drop-shadow(0 25px 28px rgba(0,0,0,.35));transform:scale(1.07)}.v191-hero-art-label{position:absolute;bottom:18px;left:15px;font-size:10px;letter-spacing:.12em;font-weight:800;color:#e7f9ff;background:rgba(0,31,44,.75);padding:10px 13px;border-radius:8px}.v191-hero-art-label span{display:block;font-size:9px;font-weight:400;letter-spacing:0;color:#c1e0e5;margin-top:2px}.v191-hero-visual-btn{position:absolute;top:17px;right:17px;color:#07333d;background:#d1f0e5;border:none;border-radius:7px;padding:10px 11px;font-size:10px;letter-spacing:.06em;font-weight:800;cursor:pointer}
.v191-quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:17px 0 28px}.v191-quick-stats>button{border:1px solid #e2eaf0;background:white;border-radius:13px;padding:15px 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:#244954}.v191-quick-stats>button:hover{border-color:#78c1bd;box-shadow:0 5px 15px #0e5f6530}.v191-quick-stats button>span:nth-child(2){flex:1;min-width:0}.v191-quick-stats strong{display:block;font-size:24px;font-weight:850;line-height:1;color:#0b3e50}.v191-quick-stats small{display:block;font-size:10px;color:#67808b;margin-top:5px}.v191-quick-stats button>b{font-size:15px;color:#78a1a7}.v191-stat-symbol{display:grid;place-items:center;font-size:21px;border-radius:10px;width:40px;height:40px;flex:none}.v191-stat-symbol.red{background:#fff0ec;color:#b5674b}.v191-stat-symbol.gold{background:#fff5df;color:#b78736}.v191-stat-symbol.teal{background:#eaf8ef;color:#4b9c81}.v191-stat-symbol.blue{background:#e9f4ff;color:#4689b9}
.v191-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.v191-section-head span,.v191-panel-title small{font-size:10px;letter-spacing:.12em;color:#43827d;font-weight:900}.v191-section-head h2{font-size:21px;letter-spacing:-.02em;margin:6px 0 0;color:#113e51}.v191-text-link,.v191-panel-title button{background:none;border:0;color:#1c7681;font-size:12px;font-weight:750;cursor:pointer}
.v191-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:24px}.v191-tool{background:#fff;border:1px solid #dfe9ee;border-radius:17px;padding:18px;display:flex;align-items:stretch;flex-direction:column;text-align:left;cursor:pointer;min-height:200px;transition:transform .17s,box-shadow .17s,border-color .17s;color:#1c4555}.v191-tool:hover{transform:translateY(-4px);box-shadow:0 12px 25px #0d3c5824;border-color:#82c4c0}.v191-tool-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:16px}.v191-tool-icon{font-size:27px;border-radius:12px;padding:10px;background:#e6f5f0}.v191-tool.blue .v191-tool-icon{background:#e5f2fa}.v191-tool.gold .v191-tool-icon{background:#fff4dd}.v191-tool-top small{font-size:9px;font-weight:900;letter-spacing:.08em;color:#317c77;background:#e7f7f1;border-radius:20px;padding:5px 7px}.v191-tool strong{font-size:16px;line-height:1.3;color:#0a4054}.v191-tool p{font-size:12px;line-height:1.55;color:#607984;margin:8px 0 12px;flex:1}.v191-tool-open{font-size:11px;color:#0e8c80;font-weight:850}
.v191-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.v191-panel{background:white;border:1px solid #e0eaf0;border-radius:17px;padding:19px;min-height:180px}.v191-panel-title{display:flex;justify-content:space-between;gap:11px;align-items:center;margin-bottom:12px}.v191-panel-title h2{color:#103e50;font-size:17px;margin:5px 0 0}.v191-work-item{background:transparent;width:100%;border:0;border-bottom:1px solid #e9eef0;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 2px;cursor:pointer;color:#214c5a}.v191-work-item>span:nth-child(2){flex:1;min-width:0}.v191-work-icon{font-size:21px;background:#f0f6f7;border-radius:9px;padding:9px}.v191-work-item strong,.v191-work-item small{display:block}.v191-work-item strong{font-size:12px}.v191-work-item small{font-size:10px;color:#80939a;margin-top:3px}.v191-work-item em{font-style:normal;white-space:nowrap;font-size:10px;font-weight:800;padding:5px 7px;border-radius:6px}.v191-work-item em.danger{background:#fbe8e6;color:#ad554c}.v191-work-item em.warning{background:#fff2dc;color:#a47730}.v191-space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v191-space-grid button{border:1px solid #dbe7ec;background:#f8fbfc;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:6px;min-height:100px;padding:12px 6px;cursor:pointer}.v191-space-grid button:hover{background:#e6f6f2;border-color:#a7d5c9}.v191-space-grid span{font-size:23px}.v191-space-grid strong{font-size:11px;color:#134959;text-align:center}.v191-space-grid small{font-size:9px;color:#72919a}.v191-panel-empty{font-size:12px;color:#607984;padding:20px 10px;line-height:1.6}.v191-footer-note{font-size:10px;color:#82959c;text-align:center;margin:18px 0 5px}.v191-login-version{display:inline-block;background:#e0f5eb;border-radius:6px;padding:5px 9px;color:#0b766b;font-size:10px;font-weight:900;margin:9px 0}
@media(max-width:1100px){.v191-hero{grid-template-columns:1fr .82fr}.v191-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.v191-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v191-hero{grid-template-columns:1fr}.v191-hero-copy{padding:23px}.v191-hero-art{min-height:230px}.v191-hero-art img{max-height:220px}.v191-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.v191-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v191-bottom-grid{grid-template-columns:1fr}.v191-release>span:last-child{display:none}}
@media(max-width:490px){.v191-tool-grid{grid-template-columns:1fr}.v191-quick-stats{gap:7px}.v191-quick-stats>button{padding:11px 6px;gap:5px}.v191-stat-symbol{width:31px;height:31px;font-size:17px}.v191-hero-actions{flex-direction:column;align-items:stretch}.v191-space-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
