:root{color:#07172f;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #07172f;--navy-2: #12345b;--gold: #d7a83b;--gold-soft: #f5dd96;--steel: #35475c;--line: #e7edf4;--soft: #f5f7fa;--white: #ffffff;--danger: #a83c3c;--shadow: 0 18px 45px rgba(7, 23, 47, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.65}.auth-page{align-items:center;background:linear-gradient(135deg,#07172ff5,#12345beb),var(--navy);display:flex;min-height:100vh;padding:clamp(18px,4vw,42px)}.auth-card{background:var(--white);border:1px solid rgba(215,168,59,.35);border-radius:8px;box-shadow:0 28px 90px #00000047;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(280px,420px);margin:0 auto;max-width:980px;padding:clamp(20px,4vw,34px);width:100%}.auth-brand{align-items:center;display:flex;gap:14px;grid-column:1 / -1}.auth-brand img{border:1px solid var(--line);border-radius:8px;height:58px;object-fit:contain;padding:6px;width:58px}.auth-brand h1,.auth-form h2,.auth-panel h2{color:var(--navy);margin:4px 0 0}.auth-form,.auth-panel{border:1px solid var(--line);border-radius:8px;padding:20px}.auth-form{display:grid;gap:14px}.auth-form label{color:var(--navy);display:grid;font-size:.9rem;font-weight:850;gap:7px}.auth-form p,.auth-panel p{color:var(--steel);line-height:1.6;margin:8px 0 0}.auth-icon{color:var(--gold)}.demo-hint{background:#fff8df;border:1px solid rgba(215,168,59,.4);border-radius:6px;padding:10px 12px}.form-error{background:#fff1f1;border:1px solid rgba(168,60,60,.3);border-radius:6px;color:var(--danger)!important;font-weight:800;padding:10px 12px}.auth-panel{background:var(--soft);display:flex;flex-direction:column;justify-content:space-between}.auth-mode-grid{display:grid;gap:10px;margin-top:20px}.auth-mode-grid span{align-items:center;background:var(--white);border:1px solid var(--line);border-radius:999px;display:inline-flex;font-weight:800;gap:8px;padding:8px 12px}.app-shell{min-height:100vh}.app-header{align-items:center;background:var(--navy);border-bottom:4px solid var(--gold);display:grid;gap:18px;grid-template-columns:minmax(240px,320px) 1fr;padding:18px clamp(16px,4vw,42px);position:sticky;top:0;z-index:20}.brand-block{align-items:center;color:var(--white);display:flex;gap:14px;min-width:0}.brand-block img{background:var(--white);border-radius:8px;height:54px;object-fit:contain;padding:6px;width:54px}.brand-block p,.eyebrow{color:var(--gold);font-size:.75rem;font-weight:900;letter-spacing:.08em;margin:0;text-transform:uppercase}.brand-block h1{font-size:1.3rem;line-height:1.1;margin:2px 0 0}nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.header-controls{display:grid;gap:10px}.session-strip{align-items:center;color:#ffffffdb;display:flex;flex-wrap:wrap;font-size:.88rem;gap:10px;justify-content:flex-end}.session-strip strong{color:var(--white)}.session-strip button{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:var(--white);cursor:pointer;display:inline-flex;font-weight:800;gap:7px;min-height:34px;padding:7px 10px}.session-strip button:hover{background:var(--gold);color:var(--navy)}nav button,.primary-button,.secondary-button,.text-button,.icon-button{align-items:center;border:0;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:42px;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}nav button{background:#ffffff14;color:var(--white);padding:9px 12px}nav button.active,nav button:hover{background:var(--gold);color:var(--navy)}.storage-banner{align-items:center;background:#fff8df;border-bottom:1px solid rgba(215,168,59,.45);color:var(--navy);display:flex;font-size:.92rem;font-weight:750;gap:10px;padding:10px clamp(16px,4vw,42px)}.storage-banner.database{background:#eef7ff;border-bottom-color:#12345b33}.error-banner{align-items:center;background:#fff1f1;border-bottom:1px solid rgba(168,60,60,.25);color:var(--danger);display:flex;font-weight:800;gap:10px;padding:10px clamp(16px,4vw,42px)}.screen{display:grid;gap:22px;margin:0 auto;max-width:1440px;padding:24px clamp(14px,4vw,42px) 42px}.hero-panel,.screen-title,.panel{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.hero-panel{align-items:center;display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(280px,420px);padding:clamp(22px,4vw,34px)}.hero-panel h2,.screen-title h2{color:var(--navy);font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;margin:8px 0 14px;max-width:980px}.hero-panel p,.screen-title p,.panel p,.quiet{color:var(--steel);line-height:1.65}.security-note{align-items:flex-start;background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:8px;display:flex;gap:12px;padding:18px}.security-note svg{color:var(--gold);flex:0 0 auto;margin-top:3px}.security-note strong,.security-note span{display:block}.security-note span{color:var(--steel);margin-top:5px}.stats-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:20px}.stat-card p{color:var(--steel);font-size:.9rem;font-weight:800;margin:0}.stat-card strong{color:var(--navy);display:block;font-size:2rem;line-height:1.1;margin-top:8px}.stat-card span{color:var(--steel);display:block;font-size:.9rem;margin-top:6px}.two-column{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:20px}.loading-panel h2{color:var(--navy);margin:6px 0 0}.panel-heading,.screen-title{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.panel-heading h3{color:var(--navy);font-size:1.35rem;margin:4px 0 0}.screen-title{padding:22px}.screen-title h2{font-size:clamp(1.75rem,3vw,2.6rem)}.screen-title p{margin:0;max-width:760px}.title-actions,.form-actions,.report-downloads{display:flex;flex-wrap:wrap;gap:10px}.primary-button,.secondary-button{padding:10px 14px}.primary-button{background:var(--gold);color:var(--navy)}.primary-button:hover{background:var(--gold-soft)}.secondary-button,.icon-button{background:var(--white);border:1px solid var(--line);color:var(--navy)}.secondary-button:hover,.icon-button:hover{border-color:var(--gold);background:#f5dd9638}.text-button{background:transparent;color:var(--navy);min-height:auto;padding:4px 0}.icon-button{height:36px;min-height:36px;width:36px}.icon-button.danger{color:var(--danger)}.compact-list{display:grid;gap:10px;margin-top:16px}.compact-list button,.compact-list a{background:var(--soft);border:1px solid var(--line);border-radius:8px;color:var(--navy);cursor:pointer;display:block;padding:12px;text-align:left;text-decoration:none}.compact-list strong,.compact-list span{display:block}.compact-list span{color:var(--steel);margin-top:4px}.collection-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.collection-list span{align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:8px;padding:8px 12px}.toolbar{align-items:end;background:var(--white);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(240px,1fr) minmax(180px,260px);padding:16px}.toolbar label,.record-form label{color:var(--navy);display:grid;font-size:.88rem;font-weight:850;gap:7px}.search-box{align-items:center;display:flex!important;gap:10px!important}input,select,textarea{background:var(--white);border:1px solid #d8e0ea;border-radius:6px;color:var(--navy);min-height:42px;padding:10px 12px;width:100%}textarea{min-height:98px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:3px solid rgba(215,168,59,.22)}.table-wrap{background:var(--white);border:1px solid var(--line);border-radius:8px;overflow-x:auto}.table-wrap.embedded{margin-top:16px}table{border-collapse:collapse;min-width:960px;width:100%}th,td{border-bottom:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}th{background:var(--navy);color:var(--white);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}td{color:var(--steel);font-size:.92rem}td:first-child{color:var(--navy);font-weight:850}.row-actions{display:flex;gap:8px;min-width:140px}.modal-backdrop{align-items:flex-start;background:#07172f99;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px;position:fixed;z-index:50}.record-form,.invoice-preview{background:var(--white);border-radius:8px;box-shadow:0 24px 80px #00000038;max-width:1040px;padding:22px;width:100%}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.lookup-panel{align-items:center;background:#fff8df;border:1px solid rgba(215,168,59,.4);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin-top:18px;padding:14px}.lookup-panel strong,.lookup-panel span{display:block}.lookup-panel span,.lookup-panel p{color:var(--steel);font-size:.9rem;line-height:1.5;margin:4px 0 0}.lookup-panel p,.full-width{grid-column:1 / -1}.checkbox-label{align-items:center;display:flex!important;flex-direction:row;gap:10px!important;min-height:42px}.checkbox-label input{height:18px;min-height:18px;width:18px}.field-help{color:var(--steel);font-size:.82rem;font-weight:650}.form-actions{justify-content:flex-end;margin-top:18px}.invoice-preview iframe{border:1px solid var(--line);border-radius:8px;height:min(72vh,780px);margin-top:16px;width:100%}.report-downloads{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:18px}@media(max-width:1080px){.app-header{grid-template-columns:1fr}nav{justify-content:flex-start}.session-strip{justify-content:flex-start}.hero-panel,.auth-card,.two-column,.toolbar{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-header{position:static}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}nav button{justify-content:flex-start}.auth-card{padding:16px}.screen-title,.panel-heading{display:grid}.title-actions,.report-downloads{display:grid;width:100%}.stats-grid,.lookup-panel,.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.brand-block h1{font-size:1.05rem}}
