:root{--bg:#f6f7f9;--card:#fff;--tx:#1b1f24;--mut:#667;--bd:#dde1e6;--ac:#c8102e}@media (prefers-color-scheme:dark){:root{--bg:#14171a;--card:#1e2226;--tx:#eceff2;--mut:#9aa3ad;--bd:#33393f;--ac:#ef4560}}*{box-sizing:border-box}body{background:var(--bg);color:var(--tx);margin:0;font:15px/1.45 system-ui,sans-serif}main{max-width:1200px;margin:0 auto;padding:16px}h1{margin:.2em 0;font-size:1.4rem}h2{margin:0 0 10px;font-size:1rem}.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;margin:12px 0;padding:14px}.grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px;display:grid}.grid>div{flex-direction:column;justify-content:flex-end;min-width:0;display:flex}label{color:var(--mut);margin-bottom:4px;font-size:.8rem;line-height:1.25;display:block}input,select{border:1px solid var(--bd);background:var(--bg);width:100%;height:36px;color:var(--tx);font:inherit;border-radius:8px;padding:0 8px}.selwrap{border:1px solid var(--bd);background:var(--bg);border-radius:8px;align-items:center;width:100%;height:36px;display:inline-flex;position:relative}.selwrap select{color:var(--tx);font:inherit;text-indent:1px;appearance:none;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:6px 30px 6px 10px}.selwrap:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M5 8l5 5 5-5' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-size:14px 14px;width:14px;height:14px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}input[type=checkbox]{width:auto;height:auto}input[readonly]{opacity:.75}button{background:var(--ac);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:8px 14px}button.g{color:var(--mut);border:1px solid var(--bd);background:0 0}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{text-align:left;border-bottom:1px solid var(--bd);vertical-align:top;padding:8px 4px;font-size:.85rem}td input,td select{height:32px;padding:0 6px}td .selwrap{height:32px}td .selwrap select{padding-right:24px}td .selwrap:after{background-size:12px 12px;width:12px;height:12px;right:6px}td input[type=checkbox]{height:auto}td label{align-items:center;gap:4px;min-height:32px;margin:0;display:flex}td select{margin-top:4px;display:block}.tot{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.tot div{background:var(--bg);border-radius:8px;padding:10px}.tot b{font-size:1.2rem;display:block}.tot .big b{color:var(--ac)}.note{color:var(--mut);font-size:.8rem}.viewtoggle{border:1px solid var(--bd);border-radius:8px;margin-bottom:12px;display:inline-flex;overflow:hidden}.viewtoggle button{color:var(--tx);background:0 0;border:0;border-radius:0;padding:6px 14px}.viewtoggle button.active{background:var(--ac);color:#fff}.langtoggle{border:1px solid var(--bd);float:right;border-radius:8px;display:inline-flex;overflow:hidden}.langtoggle button{color:var(--tx);background:0 0;border:0;border-radius:0;padding:4px 10px;font-size:.8rem}.langtoggle button.active{background:var(--ac);color:#fff}.calnav{align-items:center;gap:10px;margin-bottom:8px;display:flex}.calnav h3{text-align:center;flex:1;margin:0;font-size:1rem}.calgrid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calhead{text-align:center;color:var(--mut);padding:4px 0;font-size:.75rem}.calday{border:1px solid var(--bd);background:var(--card);min-height:74px;color:var(--tx);font:inherit;cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:4px;display:flex}.calday.out{opacity:.4}.calday:hover{border-color:var(--ac)}.calnum{font-size:.8rem;font-weight:600}.calchip{background:var(--bg);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;max-width:100%;padding:1px 4px;font-size:.68rem;overflow:hidden}.calpay{color:var(--ac);margin-top:auto;font-size:.68rem}.modalbg{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:16px;overflow-y:auto}.modal h2{margin-top:0;font-size:1rem}.modallist{margin:0 0 10px;padding:0;list-style:none}.modallist li{border-bottom:1px solid var(--bd);align-items:center;gap:8px;padding:6px 0;font-size:.85rem;display:flex}.modallist li span:first-child{flex:1}.modalform label{color:var(--tx);align-items:center;gap:6px;margin:8px 0;font-size:.85rem;display:flex}
