:root{--navy:#163a63;--blue:#2f6fab;--bg:#f4f7fb;--line:#dce3ec;--muted:#64748b;--white:#fff;--green:#15803d;--red:#b91c1c;--amber:#b45309}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#172033;font:16px Arial,sans-serif}header{background:#fff;border-bottom:1px solid var(--line);padding:16px 24px;display:flex;gap:12px;align-items:center}.logo{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:22px}h1,h2,h3,p{margin:0}header p{color:var(--muted);font-size:14px;margin-top:3px}.wrap{max-width:1100px;margin:auto;padding:24px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 10px #163a6310;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px;font:inherit}.field textarea{min-height:90px}.btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;color:#172033;display:inline-block}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.ok{background:#dcfce7;border-color:#86efac;color:#166534}.btn.no{background:#fee2e2;border-color:#fecaca;color:#991b1b}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc}.status{font-weight:700}.pending{color:var(--amber)}.approved{color:var(--green)}.rejected{color:var(--red)}.notice{padding:12px 14px;border-radius:9px;background:#eff6ff;border:1px solid #bfdbfe;margin-bottom:16px}.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted);font-size:13px}@media(max-width:700px){.grid{grid-template-columns:1fr}.wrap{padding:14px}}
.cal{font-size:12px;min-width:1300px}.cal th,.cal td{text-align:center;padding:3px}.cal th:first-child{position:sticky;left:0;background:#fff;z-index:2;min-width:170px;text-align:left}.cellform select{width:48px;border:0;background:transparent;font-size:10px;padding:3px}
.inline{display:inline-flex;align-items:center;gap:8px}.small{min-width:72px;width:82px}.actions h2{margin:0}.actions label{display:flex;align-items:center;gap:6px}
