:root{--bg: #f3f1ec;--bg-accent: #dfe8d7;--card: #ffffff;--ink: #1d1b16;--muted: #6c6a63;--primary: #1f6f54;--primary-dark: #16503e;--accent: #f0b429;--danger: #c03b2b;--border: #e4e0d6;--shadow: 0 20px 40px rgba(29, 27, 22, .08);--radius: 16px}*{box-sizing:border-box}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,var(--bg-accent),transparent 55%),linear-gradient(135deg,#f6f2ea,#f2f0e8);min-height:100vh}button,input,select,textarea{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:24px clamp(20px,5vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;flex-direction:column;gap:6px}.brand h1{margin:0;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em}.brand span{color:var(--muted);font-size:14px}.nav{display:flex;gap:10px;flex-wrap:wrap}.nav button{border:1px solid var(--border);background:var(--card);color:var(--ink);padding:10px 16px;border-radius:999px;cursor:pointer;transition:all .2s ease}.nav button.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 10px 20px #1f6f5440}.nav button:hover{border-color:var(--primary)}.logout{background:transparent;border:1px solid var(--border);padding:8px 14px;border-radius:999px;cursor:pointer}.main{flex:1;padding:0 clamp(20px,5vw,48px) 40px;display:flex;flex-direction:column;gap:24px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;animation:fadeIn .4s ease}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.section-title{margin:0 0 12px;font-size:18px}.form-row{display:flex;gap:12px;flex-wrap:wrap}.form-row>*{flex:1;min-width:160px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}input,select,textarea{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;font-size:14px}textarea{resize:vertical}.primary-btn{background:var(--primary);color:#fff;border:none;padding:12px 18px;border-radius:12px;cursor:pointer;font-weight:600;transition:background .2s ease}.primary-btn:hover{background:var(--primary-dark)}.secondary-btn{background:transparent;border:1px solid var(--border);padding:10px 14px;border-radius:12px;cursor:pointer}.danger-btn{background:transparent;border:1px solid var(--danger);color:var(--danger);padding:8px 12px;border-radius:12px;cursor:pointer}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:6px}.calendar-label{text-align:center;font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-day{padding:10px;border-radius:12px;background:#faf8f4;border:1px solid transparent;min-height:72px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:all .2s ease}.calendar-day.inactive{opacity:.4}.calendar-day.today{border-color:var(--accent)}.calendar-day.selected{border-color:var(--primary);background:#eef7f1}.calendar-day .count{font-size:12px;color:var(--primary)}.event-list{display:flex;flex-direction:column;gap:10px}.event-item{padding:12px;border-radius:12px;border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.event-item.processing{border-color:var(--accent);background:#fff8e2}.event-meta{font-size:12px;color:var(--muted)}.total{margin-top:10px;font-weight:600}.login-card{max-width:420px;margin:80px auto 0}.notice{color:var(--muted);font-size:13px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.app-header{flex-direction:column;align-items:flex-start}.calendar{grid-template-columns:repeat(7,minmax(36px,1fr))}}
