/* Northdown OS · Bright Editorial Design V2
 * Organic warmth, real project photographs, accessible contrast.
 * Loaded after demo.css. Only the public fictional-data demo is affected.
 */
:root{color-scheme:light;--bg:#f7faf8;--surface:#f4f8f5;--panel:#fff;--border:#dfe9e3;--ink:#132c2a;--muted:#58736f;--accent:#006d57;--gold:#b18b52}
body{background:var(--bg);color:var(--ink)}
::selection{background:#b8e7d3;color:#10302a}
:focus-visible{outline-color:#006b55}
.sidebar{background:#fff;border-right-color:#e2ebe6;box-shadow:3px 0 18px #2d644909}
.identity b{color:#123b32}.identity small{color:#6d837d}
.side-kicker{color:#758e85}
.side-navigation a{color:#435d59}
.side-navigation a small{color:#718e87}
.side-navigation a.active,.side-navigation a:hover{color:#0c5845;background:#ebf6f0;border-color:#d0e8da}
.nav-icon{color:#157b5c}
.sidebar-footer{border-top-color:#e0eae3;color:#526e64}
.sidebar-footer strong{color:#0f684e}
.sidebar-footer p{color:#668177}
.sidebar-footer a{color:#006b53}
.status-light{background:#0b9065;box-shadow:0 0 0 4px #e0f7ea}
.topbar{background:#fffffff0;border-bottom-color:#e0e9e3;box-shadow:0 3px 15px #335e4d09}
.breadcrumbs{color:#49665d}.breadcrumbs span:nth-child(2){color:#a2b1aa}.breadcrumbs b{color:#102e29}
.demo-chip{color:#365980;background:#e8f2fe;border-color:#bad1f2}
.chip-dot{background:#317cbd}
.header-link{color:#096c51}
main{max-width:1730px}
.hero{min-height:510px;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:2px;align-items:stretch;padding:36px 0 48px;overflow:visible}
.hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:23px 16px 23px 0}
.eyebrow{color:#087a5c}
h1{color:#102a2b;font-size:clamp(48px,5.5vw,88px)}
h1 em,h2 em{background:linear-gradient(110deg,#075841,#11a276);background-clip:text}
.hero p{color:#526e6a}
.btn{transition:transform .18s,box-shadow .18s}
.btn-green{background:#075b47;border-color:#075b47;color:#fff;box-shadow:0 9px 25px #0b654d23}
.btn-green:hover{box-shadow:0 10px 24px #0b654d42}
.btn-ghost{background:#fff;border-color:#cfded7;color:#173b33}
.btn-ghost:hover{background:#f0f8f3}
.hero-photo{align-self:center;position:relative;height:420px;border-radius:22px;overflow:hidden;background:#e3ece6;box-shadow:0 16px 50px #2d53421f;isolation:isolate}
.hero-photo picture,.hero-photo img{display:block;width:100%;height:100%}
.hero-photo img{object-fit:cover;object-position:center}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071d188f 0%,transparent 30%);pointer-events:none}
.hero-photo-caption{position:absolute;z-index:2;left:25px;bottom:24px;color:white;max-width:75%;text-shadow:0 2px 9px #0009}
.hero-photo-caption span{display:block;font-size:9px;font-weight:850;letter-spacing:.16em;color:#f1f7f2}
.hero-photo-caption strong{font-size:22px;letter-spacing:-.03em;font-weight:740;line-height:1.25;display:block;margin-top:7px}
.photo-glass{position:absolute;right:16px;top:17px;z-index:2;display:flex;align-items:center;gap:12px;padding:11px 16px;border:1px solid #ffffffcf;background:#fffffff2;color:#1e4639;border-radius:13px;box-shadow:0 9px 22px #0002;max-width:80%}
.glass-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:9px;background:#e3f5ec;color:#006c4f;font-weight:900}
.photo-glass b{font-size:11px;display:block;line-height:1.3}.photo-glass small{display:block;font-size:9px;color:#567268;margin-top:2px}
.notice{background:#fff8eb;border:1px solid #eadab7;color:#806236;margin-bottom:58px}
.notice b{color:#805e24}
.photo-proof{padding:0 0 76px}
.photo-proof-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}
.photo-proof-intro h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.05em;line-height:1.15;margin:9px 0 0}
.photo-eyebrow{font-weight:850;font-size:10px;letter-spacing:.13em;color:#0e7b59}
.photo-proof-intro p{max-width:380px;margin:0;color:#617b72;font-size:12px;line-height:1.7}
.photo-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.photo-proof figure{margin:0;border-radius:15px;overflow:hidden;background:#e3eee5;box-shadow:0 8px 30px #14432b13;border:1px solid #e0e8e1}
.photo-proof figure img{display:block;width:100%;height:160px;object-fit:cover}
.photo-proof figure figcaption{padding:12px 16px;display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:760;color:#2e5344;background:#fff}
.photo-proof figure figcaption span{font-size:10px;color:#9aafa4}
.photo-provenance{margin:12px 0 0;color:#69837a;font-size:10px;line-height:1.6}
.section-head h2{color:#162e2a}
.ghost{color:#7e958c}
.section-desc{color:#667e75}
.stats article{background:#fff;border-color:#e1ebe5;box-shadow:0 6px 25px #20472d0c}
.stats article>span{color:#557468}
.stats i{color:#0d8565}
.stats strong{color:#152c28}
.stats small{color:#7e9489}
.stat-rule{background:#ecf3ee}
.stat-rule b{background:linear-gradient(90deg,#096e4f,#66cca2)}
.card{background:#fff;border-color:#e0eae4;box-shadow:0 12px 36px #20472d0e}
.card-head{border-color:#e7eee9}
.card-head small{color:#0c795c}
.card h3{color:#172f29}
.icon-cell{border-color:#d6ece0;background:#e9f7ee;color:#137a5b}
.customer-strip{border-color:#daeae0;background:#f5faf6}
.avatar{background:#dcefe5;color:#24634e}
.customer-strip b{color:#1d4836}
.customer-strip small{color:#6d8d7a}
.faux-flag{color:#2a689b;background:#e8f3ff;border-color:#b9d3ef}
.field-label,.form-grid label{color:#31584a}
.brief textarea,.brief input[type="number"]{background:#fff;color:#19372f;border-color:#cbded0;box-shadow:inset 0 1px 2px #00000004}
.brief textarea:focus,.brief input[type="number"]:focus{border-color:#168c68}
.margin-row input{accent-color:#007954}
.margin-row output{color:#0a7457}
.rate-section-title{border-color:#e1ebe4;color:#335c49}
.rate-section-title small{color:#698a77}
.price-import{background:#f3f9f5;border-color:#dbeae1}
.price-import summary{color:#22483a}
.import-inner{border-color:#d9eadf}
.import-inner p{color:#536f60}
.import-inner input{color:#1e4b39}
.import-inner a{color:#006748}
.form-help{color:#687e71}
.review-status{background:#fff7e7;color:#9a6527;border-color:#f0d8ac}
.result-top>span{color:#3b7660}
.result-top strong{color:#0a6249}
.result-top small{color:#607b6c}
.result-table th{color:#6a8173;border-color:#dee7dd}
.result-table td{color:#2c4535;border-color:#e7eee9}
.result-table td small{color:#748c7b}
.evidence-label{color:#946127}
.evidence-label.ok{color:#007351}
.totals{border-color:#dce8de}
.totals>div{color:#536d5f}
.totals b{color:#173e2d}
.review-warning{background:#fffaf0;border-color:#efd9b1}
.review-warning span{color:#916a30;border-color:#bfa375}
.review-warning p{color:#815e2d}
.approval-bar{border-color:#dce7df;color:#537c5f}
.approval-pill{color:#99672d}
.feedback{color:#187151}
.workflow-track article{background:#fff;border-color:#dcebe1;box-shadow:0 7px 24px #143e2909}
.workflow-track article>span{color:#00805d}
.workflow-track article h3{color:#153c2a}
.workflow-track article p{color:#637d6b}
.cta{background:linear-gradient(135deg,#f4f9f4,#eaf4ed);border-color:#dbece0}
.cta h2{color:#14372a}
.cta p{color:#637a68}
footer{color:#6e8679;border-color:#dce8de}
@media(max-width:1190px){.hero-photo{height:375px}}
@media(max-width:880px){.hero{grid-template-columns:1fr;padding-top:30px;gap:15px}.hero-inner{padding:12px 0}.hero-photo{height:350px;width:100%}.photo-proof figure img{height:135px}}
@media(max-width:620px){.hero{gap:6px;padding-top:38px}.hero-photo{height:245px;border-radius:13px}.hero-photo-caption{left:13px;bottom:13px}.hero-photo-caption strong{font-size:17px}.hero-photo-caption span{font-size:8px}.photo-glass{top:10px;right:9px;padding:7px 9px;gap:7px}.glass-icon{height:26px;width:26px}.photo-glass b{font-size:9px}.photo-glass small{font-size:8px}.photo-proof-intro{display:block}.photo-proof-intro p{margin-top:12px}.photo-proof-grid{grid-template-columns:1fr;gap:10px}.photo-proof figure img{height:178px}.photo-proof{padding-bottom:50px}.stats article{min-height:135px}.topbar{box-shadow:none}}
@media(max-width:360px){.hero-photo{height:210px}.photo-glass{max-width:95%}.notice{margin-bottom:45px}}

/* Structured site-notes interaction: bright, calm, operator-friendly. */
.notes-assistant{border:1px solid #cddfd5;background:linear-gradient(130deg,#f1fbf6,#ffffff);border-radius:14px;padding:15px;margin-top:15px;box-shadow:0 6px 16px #17472a0b}
.notes-assistant-heading{display:flex;align-items:center;gap:10px}
.assistant-symbol{width:34px;height:34px;flex:none;border-radius:10px;background:#dbf3e6;color:#0b7256;display:grid;place-items:center;font-size:18px}
.notes-assistant-heading div{flex:1;min-width:0}
.notes-assistant-heading strong{display:block;font-size:13px;color:#174231}
.notes-assistant-heading small{display:block;font-size:10px;color:#6f8879;line-height:1.35;margin-top:3px}
.notes-rule-badge{font-size:9px;font-weight:850;letter-spacing:.05em;color:#42667b;background:#e9f3fa;border:1px solid #c8dce9;padding:5px 6px;border-radius:6px;white-space:nowrap}
.analyse-notes,.notes-confirm{min-height:40px;border-radius:8px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:9px}
.analyse-notes{margin-top:15px;border:1px solid #166f54;color:#095c46;background:#fff;padding:9px 13px;width:100%}
.analyse-notes:hover{background:#eef9f1}
.notes-analysis{margin-top:14px;border-top:1px solid #deebe1;padding-top:11px;font-size:11px;color:#476958;line-height:1.65}
.notes-analysis p{margin:7px 0;color:#516b5c}
.notes-disclosure{color:#526e7d!important;background:#f0f6f9;border-radius:7px;padding:8px 10px}
.notes-found{border-radius:8px;background:#fff;border:1px solid #e1eae1;padding:8px 10px}
.notes-confirm{margin:12px 0;padding:9px 12px;border:0;color:#fff;background:#076548;width:100%;text-align:left}
.notes-confirm:hover{background:#09543b}
.notes-confirm:disabled{background:#dfede5;color:#36634a;cursor:default}
.notes-questions-title{display:block;font-size:11px;margin-top:12px;color:#1d4c39}
.notes-analysis ul{padding-left:17px;margin:7px 0}
.notes-analysis li{margin:4px 0}
.notes-error{color:#9c403b!important}
@media(max-width:460px){.notes-rule-badge{font-size:8px;padding:4px}.notes-assistant{padding:12px}}
