
:root{--bg:#f4f4fa;--card:#fff;--tx:#1b1b2f;--mu:#6a6a80;--pr:#2e2a83;--prt:#fff;--ac:#ffe600;--bd:#d8d8e6;--er:#b3261e;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#13131e;--card:#1e1e2e;--tx:#ececf5;--mu:#a2a2ba;--pr:#9a96ff;--prt:#13131e;--bd:#35354d;--er:#ff8a80}}
:root[data-theme="dark"]{--bg:#13131e;--card:#1e1e2e;--tx:#ececf5;--mu:#a2a2ba;--pr:#9a96ff;--prt:#13131e;--bd:#35354d;--er:#ff8a80}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--card);border-bottom:3px solid var(--ac)}
header img{height:38px;background:#fff;border-radius:6px;padding:2px}header .sp{flex:1}
main{max-width:1000px;margin:0 auto;padding:16px}
h2{margin:0 0 12px;color:var(--pr)}.mu{color:var(--mu)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px;margin-bottom:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;background:var(--card);color:var(--tx);border:1px solid var(--bd);border-left:5px solid var(--ac);border-radius:10px;font:600 15px inherit;cursor:pointer;text-align:left}
.tile span{font-size:28px}.tile:hover{border-color:var(--pr)}
button{background:var(--pr);color:var(--prt);border:0;border-radius:8px;padding:9px 14px;font:600 14px inherit;cursor:pointer}
button.sec{background:transparent;color:var(--pr);border:1px solid var(--pr)}button.dg{background:var(--er);color:#fff}button.sm{padding:4px 9px;font-size:13px}
input,select{width:100%;padding:9px;border:1px solid var(--bd);border-radius:8px;background:var(--bg);color:var(--tx);font:inherit}
input[readonly]{opacity:.75}label{display:block;font-size:13px;color:var(--mu)}label input,label select{margin-top:3px;color:var(--tx)}
.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.row{display:flex;gap:8px;align-items:flex-end}.row>label{flex:1}
table.t{width:100%;border-collapse:collapse;font-size:14px}.t th,.t td{padding:7px 8px;border-bottom:1px solid var(--bd);text-align:left}.t th{color:var(--mu);font-size:12px;text-transform:uppercase}
.t input{padding:5px;min-width:70px}.r{text-align:right!important}.tot{font-weight:700}
.bk{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.box{background:var(--card);border-radius:12px;padding:18px;max-width:560px;width:100%;max-height:90vh;overflow:auto}.box.w{max-width:1100px}
.box h3{margin:0 0 10px;color:var(--pr)}.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;justify-content:flex-end}
.login{max-width:360px;margin:8vh auto;text-align:center}.login img{width:200px;background:#fff;border-radius:10px;padding:6px}.login label{text-align:left;margin-top:10px}
.sheet{width:100%;overflow-x:auto}table.s{border-collapse:collapse;width:100%;min-width:900px;background:#fff;color:#000;font:12px Arial,sans-serif}
.s td{border:1px solid #000;padding:3px 5px;text-align:center;height:24px}.s .l{text-align:left}.s .h td{font-weight:700;font-size:13px}.s img{height:56px}
#sheet{display:none}
.t tr.gh td{background:var(--bg);font-weight:700;color:var(--pr)}.btn{display:inline-block;background:var(--pr);color:var(--prt);border-radius:8px;padding:9px 14px;font:600 14px inherit;text-decoration:none}textarea{width:100%;min-height:110px;padding:9px;border:1px solid var(--bd);border-radius:8px;background:var(--bg);color:var(--tx);font:inherit}.s .sg td{height:46px}
input:not([type=email]):not([type=password]):not([type=file]):not([type=date]):not([type=checkbox]){text-transform:uppercase}
.lay{display:flex;gap:16px;max-width:1250px;margin:0 auto;padding:16px}.lay main{flex:1;min-width:0;max-width:none;padding:0}
aside{width:235px;flex:none;display:flex;flex-direction:column;gap:6px}aside button{background:var(--card);color:var(--tx);border:1px solid var(--bd);text-align:left;font-weight:500}aside button.on{background:var(--pr);color:var(--prt);border-color:var(--pr)}
@media(max-width:760px){.lay{flex-direction:column}aside{width:auto;flex-direction:row;overflow-x:auto}aside button{white-space:nowrap}}
@page{size:A4 landscape;margin:8mm}
@media print{body{background:#fff;margin:0}#sheet{width:100%;overflow:visible}#app,#modal{display:none!important}#sheet{display:block}table.s{min-width:0}}

.warn{background:var(--bg);border-left:5px solid var(--ac);padding:10px 12px;border-radius:8px;margin:0 0 12px}.sp1{margin-top:12px}.pw{font:700 20px monospace;letter-spacing:1px;background:var(--bg);padding:10px;border-radius:8px;text-align:center;user-select:all}

.t td.r,.t th.r{white-space:nowrap}
