body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#f6f7fb;color:#111827}
a{text-decoration:none;color:inherit}
.wrap{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:#0b3b33;color:#fff;padding:16px;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:44px;height:44px;border-radius:999px;object-fit:cover;border:2px solid rgba(255,255,255,.35);background:#fff}
.brand b{display:block;line-height:1.1}
.menu{margin-top:14px;display:grid;gap:6px}
.menu a{padding:10px 12px;border-radius:12px;font-weight:700;opacity:.92}
.menu a:hover{background:rgba(255,255,255,.12)}
.menu a.active{background:rgba(255,255,255,.18)}
.content{padding:20px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.06);padding:16px}
h1,h2{margin:0 0 12px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}
.table th{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;background:#0e7c66;color:#fff;padding:10px 14px;border-radius:12px;font-weight:800}
.btn:hover{background:#0a5b4c}
.btn.ghost{background:transparent;color:#0e7c66;border:1px solid #0e7c66}
.btn.danger{background:#b91c1c}
.input, select, textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:900px){.wrap{grid-template-columns:1fr}.sidebar{position:relative;height:auto}}
.notice{padding:12px 14px;border-radius:14px;border:1px solid #e5e7eb;background:#fff}
.notice.ok{border-color:#bbf7d0;background:#f0fdf4}
.notice.err{border-color:#fecaca;background:#fef2f2}
