:root{--ink:#203325;--paper:#f8f7f1;--card:#fffefa;--line:#d8ddd2;--accent:#486d3a;--muted:#667067;--danger:#ae3d34}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Apple SD Gothic Neo,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f7f8ee;background:#243c29;flex-direction:column;padding:24px 16px;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:10px;margin:0 0 28px;font-size:20px;font-weight:800;display:flex}.brand small{color:#bbceb5;letter-spacing:.08em;margin-top:4px;font-size:11px;display:block}.brand-mark{filter:drop-shadow(0 3px 8px #0a190b33);flex:none}.nav{gap:6px;display:grid}.nav a{color:#d7e3d2;border-radius:10px;padding:11px 12px;font-weight:700}.nav a:hover{color:#fff;background:#35563b}.content{width:100%;max-width:1440px;margin:0 auto;padding:34px}.top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}h1{letter-spacing:-.04em;margin:0;font-size:30px}h2{margin:0;font-size:19px}h3{margin:0;font-size:14px}.muted{color:var(--muted)}.small{font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 3px 16px #2033250a}.grid{gap:18px;display:grid}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-value{margin:10px 0 3px;font-size:28px;font-weight:800}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th{text-align:left;color:var(--muted);font-size:12px}td,th{border-bottom:1px solid var(--line);vertical-align:top;padding:13px 10px}tr:last-child td{border:0}.button{background:var(--accent);color:#fff;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-weight:700;display:inline-flex}.button.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.button.danger{background:var(--danger)}.badge{color:#335831;white-space:nowrap;background:#e5eee1;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-block}.form{gap:16px;display:grid}.field{gap:6px;display:grid}label{color:#48534a;font-size:12px;font-weight:800}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;width:100%;padding:10px}textarea{resize:vertical;min-height:90px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.three-col{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.notice{color:#7b4a12;background:#fff2dd;border-radius:10px;padding:12px 14px;font-size:13px}.error{color:#8b2d27;background:#ffe8e5}.history{gap:0;display:grid}.event{border-left:2px solid #b7cfaf;margin-left:8px;padding:0 0 20px 16px}.event:last-child{padding-bottom:0}.items{gap:10px;display:grid}.item-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:1.2fr 1fr 80px 110px auto;align-items:end;gap:8px;padding:10px;display:grid}.login{max-width:430px;margin:12vh auto}.login .card{padding:32px}.right{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.language-switcher{border:1px solid var(--line);background:#fff;border-radius:999px;gap:3px;padding:3px;display:inline-flex}.language-switcher button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.language-switcher button.active{background:var(--accent);color:#fff}.language-switcher.dark{background:#1e3424;border-color:#527058}.language-switcher.dark button{color:#c2d2bd}.language-switcher.dark button.active{color:#24412a;background:#d9edbd}.sidebar-footer{gap:14px;margin-top:auto;padding-top:30px;display:grid}.login-brand{align-items:center;gap:10px;margin-bottom:24px;display:flex}.login-brand p{margin:0}.login-top{justify-content:flex-end;margin-bottom:16px;display:flex}@media (max-width:820px){.shell{grid-template-columns:1fr}.sidebar{padding:18px}.nav{grid-template-columns:repeat(4,1fr);overflow-x:auto}.sidebar-footer{margin-top:20px;padding-top:0}.content{padding:20px}.grid.stats,.two-col,.three-col{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 1fr}}
