:root{--navy:#142a3a;--teal:#087f78;--pale:#e8f5f1;--bg:#f4f6f5;--ink:#193344;--muted:#6c7f89;--line:#dce5e4;--red:#b54637}*{box-sizing:border-box}body{margin:0;font:14px/1.55 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:var(--teal);color:white;padding:10px 17px;border-radius:9px;font-weight:600}button:hover{filter:brightness(.94)}button.secondary{background:#e8efef;color:var(--ink)}button.danger{background:#fae9e5;color:var(--red)}button.small{padding:6px 11px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{border:1px solid #cbd9d7;border-radius:8px;padding:10px 12px;background:white;color:var(--ink);width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #99d9ce;outline-offset:1px}input[type=checkbox]{width:auto;accent-color:var(--teal)}label{display:block;font-weight:600;font-size:12px;color:#59717c;margin:0 0 5px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.8px;margin-bottom:7px}h2{font-size:19px}h3{font-size:16px;margin-bottom:8px}p{color:var(--muted)}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.hero{background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:center;padding:12%;position:relative;overflow:hidden}.hero:after{content:'';width:420px;height:420px;border:70px solid #244b56;border-radius:50%;position:absolute;right:-210px;bottom:-160px}.hero h1{font-size:48px;line-height:1.12;max-width:520px;margin:30px 0}.hero p{color:#b7d2d7;max-width:400px}.brand{font-weight:700;font-size:20px;letter-spacing:1px}.brand em{font-style:normal;color:#67d5bc}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--teal);text-transform:uppercase}.hero .eyebrow{color:#67d5bc}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form form{width:360px}.field{margin-bottom:16px}.hint{font-size:12px;color:var(--muted)}.error{color:var(--red);background:#fff1ed;border-radius:8px;padding:10px;display:none}.layout{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#bdd1d8;padding:29px 18px;position:fixed;top:0;bottom:0;width:238px;display:flex;flex-direction:column;z-index:3}.sidebar .brand{color:white;padding:0 12px;margin-bottom:30px}.sidebar nav{display:grid;gap:5px}.nav{display:flex;align-items:center;gap:12px;text-decoration:none;color:#b9cdd5;padding:11px 14px;border-radius:9px;font-size:13px}.nav.active{background:#25505a;color:#adf0d9}.nav:hover{background:#203f4e}.nav span{font-size:17px;width:20px;text-align:center}.side-foot{margin-top:auto;border-top:1px solid #34505e;padding:20px 10px 0;font-size:12px}.side-foot strong{color:white;display:block;margin-bottom:7px}.main{grid-column:2;padding:0 34px 40px;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.topbar small{color:var(--muted)}.tag{background:var(--pale);color:var(--teal);padding:5px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.tag.warn{background:#fff0d9;color:#976019}.tag.red{background:#fce9e4;color:var(--red)}.title-row,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.title-row p{margin:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:23px 0}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:21px;box-shadow:0 3px 12px #19334403}.metric{font-size:30px;letter-spacing:-1px;font-weight:700;margin:7px 0}.card small{color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:20px}.panel.flush{padding:0;overflow:hidden}.panel-head{padding:19px 22px;border-bottom:1px solid var(--line)}.panel-head h3{margin:0}.notice{background:#eaf4f1;border-left:3px solid #2c9e87;padding:13px 17px;border-radius:7px;margin-bottom:20px;color:#3d6764;font-size:13px}.notice.warn{background:#fff6e9;border-color:#d9a047;color:#8b6427}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span2{grid-column:span 2}.table-wrap{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:12px}th{background:#f2f6f5;color:#59717c;font-weight:600;position:sticky;top:0;z-index:1;padding:13px 16px}td{padding:12px 16px;border-bottom:1px solid #edf1f0;vertical-align:top}tr:last-child td{border-bottom:0}tr:hover td{background:#f9fcfb}.num{text-align:right;font-variant-numeric:tabular-nums}.sub{color:var(--muted);font-size:11px}.empty{text-align:center;padding:35px;color:var(--muted)}.toolbar input,.toolbar select{max-width:260px}.filters{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.filters>div{min-width:140px}.filters input,.filters select{max-width:240px}.btns{display:flex;gap:8px;flex-wrap:wrap}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{background:white;border:1px solid var(--line);color:var(--ink)}.tabs button.selected{background:var(--teal);color:white;border-color:var(--teal)}dialog{border:0;border-radius:15px;box-shadow:0 15px 80px #142a3a40;padding:0;width:780px;max-width:94vw;max-height:90vh;color:var(--ink)}dialog::backdrop{background:#10273588;backdrop-filter:blur(3px)}.modal-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.modal-body{padding:25px;overflow:auto;max-height:70vh}.modal-foot{padding:16px 25px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.cross{background:none;color:var(--muted);font-size:22px;padding:0 8px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:13px 23px;border-radius:10px;box-shadow:0 5px 30px #142a3a30;display:none;z-index:10;max-width:85vw}.loading{padding:70px;text-align:center;color:var(--muted)}.busy{opacity:.6;pointer-events:none}.details{white-space:pre-wrap;word-break:break-word;background:#f3f7f6;padding:16px;border-radius:9px;font:12px/1.7 Consolas,monospace}.slip{max-width:800px;margin:auto}.slip td{white-space:normal}.footer-note{font-size:11px;color:var(--muted);padding-top:15px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.main{padding:0 20px 30px}}@media(max-width:760px){.layout{grid-template-columns:68px 1fr}.sidebar{width:68px;padding:25px 8px}.sidebar .brand{font-size:0;padding:0}.sidebar .brand em{font-size:17px}.nav{font-size:0;padding:12px;gap:0}.nav span{font-size:20px}.side-foot{font-size:0;padding:12px 0}.side-foot button{font-size:10px;padding:6px}.side-foot strong{font-size:0}.main{padding:0 12px 25px}.topbar{height:62px;margin-bottom:20px}.formgrid{grid-template-columns:1fr}.span2{grid-column:span 1}.login{grid-template-columns:1fr}.hero{padding:35px;min-height:260px}.hero h1{font-size:34px;margin:15px 0}.login-form{padding:30px}.card{padding:15px}.metric{font-size:24px}h1{font-size:24px}}@media print{body{background:white}.sidebar,.topbar,.no-print,.title-row,.toolbar,.tabs,button{display:none!important}.layout{display:block}.main{padding:0}.panel{border:0}.table-wrap{max-height:none;overflow:visible}th{position:static}.slip{font-size:12px}dialog{box-shadow:none;position:absolute;max-height:none;max-width:none;width:100%;top:0;left:0;margin:0}.modal-head,.modal-foot{display:none}.modal-body{max-height:none;overflow:visible}body.printing-slip .layout{display:none}}

.sidebar{overflow-y:auto}.sidebar nav{flex-shrink:0}.side-foot{flex-shrink:0}

/* Familiar desktop forms, grouped tree menu and compact data grids. */
.classic-layout .sidebar{background:#edf0f2;color:#1e3445;border-right:1px solid #aebcc5;padding:15px 10px;width:250px}.classic-layout{grid-template-columns:250px 1fr}.classic-layout .sidebar .brand{color:#183d5d;margin-bottom:14px;padding:7px}.classic-layout .brand small{display:block;font-size:11px;font-weight:400;letter-spacing:0}.classic-layout .brand em{color:#17608b}.classic-layout .nav{color:#203d52;padding:7px 10px;border-radius:2px;font-size:13px}.classic-layout .nav.active{background:#cce3f3;color:#123c5a;border:1px solid #9dbed6}.classic-layout .nav:hover{background:#dce8ef}.classic-layout .menu-group{margin-top:8px}.classic-layout summary{font-weight:700;padding:6px 5px;cursor:pointer;border-bottom:1px solid #cbd6dd;color:#194765}.classic-layout .menu-group .nav{margin-left:12px}.classic-layout .side-foot{border-color:#b9c9d1;color:#425c6b}.classic-layout .side-foot strong{color:#203d52}.classic-layout .topbar{height:auto;min-height:88px;margin-bottom:18px;gap:12px}.classic-layout .main{padding:0 22px 28px}.period-control{min-width:210px}.period-control input{padding:5px 8px}.period-control small{display:block;font-size:11px}.classic-layout h1{font-size:23px;letter-spacing:0}.classic-layout h2{font-size:17px}.classic-layout .panel{border-radius:3px;padding:16px;margin-bottom:14px}.classic-layout button{border-radius:3px;padding:7px 12px}.classic-layout input,.classic-layout select{border-radius:3px;padding:7px 9px}.classic-layout table{font-size:12px}.classic-layout td{padding:7px 10px}.classic-layout th{padding:9px 10px;background:#e9eff4;color:#1b405a;border-bottom:1px solid #b8cbd7}.classic-layout tr:nth-child(even) td{background:#f4f7f9}.classic-layout .table-wrap{max-height:69vh}.classic-layout .grid2{gap:14px}.work-menu{display:block;text-align:left;width:100%;margin-bottom:7px}.work-menu span{display:block;font-size:11px;font-weight:400;color:#526d7e}.workflow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.workflow span{background:#e1edf5;border:1px solid #b4ccd9;padding:6px 10px;font-size:12px;color:#234d69}.classic-layout .notice{border-radius:3px}.classic-layout .tabs button{border-radius:3px}.classic-layout .sidebar nav{display:block}@media(max-width:760px){.classic-layout{grid-template-columns:170px 1fr}.classic-layout .sidebar{width:170px;padding:10px 5px}.classic-layout .sidebar .brand{font-size:16px}.classic-layout .nav{font-size:12px;padding:6px}.classic-layout .menu-group .nav{margin-left:3px}.classic-layout .main{padding:0 10px 20px}.classic-layout .topbar{flex-wrap:wrap;padding:10px 0}.classic-layout .side-foot{font-size:11px}.classic-layout .side-foot strong{font-size:12px}.classic-layout .period-control{min-width:150px}.classic-layout .grid2{grid-template-columns:1fr}}@media print{.classic-layout .sidebar,.classic-layout .topbar,.workflow{display:none!important}}

.report-totals{display:flex;flex-wrap:wrap;gap:12px;padding:16px;background:#edf2f7}.report-totals span{padding:6px;border:1px solid #ccc}
@media print{body.printing-report .sidebar,body.printing-report .topbar,body.printing-report .no-print,body.printing-report #toast{display:none!important}body.printing-report .layout,body.printing-report .main{display:block!important;padding:0!important}body.printing-report #content>h1{display:none}body.printing-report .table-wrap{overflow:visible!important}body.printing-report table{font-size:8px}body.printing-report td,body.printing-report th{white-space:normal;padding:3px}body.printing-report .panel{box-shadow:none;border:0;padding:0}}

@page reportwide{size:A3 landscape;margin:10mm}@media print{body.printing-report{page:reportwide}body.printing-report table{table-layout:fixed;width:100%;font-size:7px}body.printing-report td,body.printing-report th{overflow-wrap:anywhere;word-break:break-word}body.printing-report .table-wrap{max-height:none!important}body.printing-report .report-totals{break-inside:avoid}}
