:root{--bg: #eef2f0;--bg-accent: #d9e4dc;--surface: #fbfcfb;--ink: #1b2420;--muted: #5f6d66;--line: #c8d4cc;--brand: #0f6b4c;--brand-deep: #0a4734;--brand-soft: #d7efe4;--danger: #9b2c2c;--shadow: 0 10px 30px rgba(18, 40, 30, .08);--radius: 14px;--sidebar-w: 232px;--font-ui: "IBM Plex Sans KR", sans-serif;--font-display: "Space Grotesk", "IBM Plex Sans KR", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-ui);background:radial-gradient(circle at 12% -10%,#cfe7da 0%,transparent 42%),radial-gradient(circle at 90% 0%,#dce6ef 0%,transparent 36%),linear-gradient(180deg,var(--bg) 0%,var(--bg-accent) 100%)}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 18px;background:#fbfcfbe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.hamburger{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:grid;place-content:center;gap:5px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.hamburger:hover{background:var(--brand-soft);border-color:#9fc7b4}.hamburger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink)}.brand{display:flex;align-items:baseline;gap:4px;font-family:var(--font-display)}.brand__mark{font-size:1.35rem;font-weight:700;color:var(--brand)}.brand__name{font-size:1.35rem;font-weight:700;letter-spacing:-.03em}.topbar__meta{color:var(--muted);font-size:.92rem}.body{position:relative;display:grid;grid-template-columns:0 1fr;min-height:0;transition:grid-template-columns .24s ease}.shell--sidebar-open .body{grid-template-columns:var(--sidebar-w) 1fr}.sidebar{overflow:hidden;border-right:1px solid var(--line);background:#fbfcfbeb;transform:translate(-100%);opacity:0;pointer-events:none;transition:transform .24s ease,opacity .24s ease}.shell--sidebar-open .sidebar{transform:translate(0);opacity:1;pointer-events:auto}.nav{display:grid;gap:8px;padding:18px 12px}.nav__link{padding:12px 14px;border-radius:12px;color:var(--muted);font-weight:500;transition:background .18s ease,color .18s ease}.nav__link:hover{background:#e8f3ed;color:var(--ink)}.nav__link--active{background:var(--brand);color:#fff}.sidebar-backdrop{display:none}.content{min-width:0;padding:24px 22px 36px}.footer{display:flex;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid var(--line);background:#fbfcfbe6;color:var(--muted);font-size:.88rem}.page{display:grid;gap:18px;animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page__header h1{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:-.03em}.page__header p{margin:0;color:var(--muted)}.page__header--split{display:flex;justify-content:space-between;gap:16px;align-items:end}.header-actions{display:flex;gap:8px;flex-shrink:0}.empty-panel{min-height:320px;border:1px dashed #9fb5a8;border-radius:var(--radius);background:linear-gradient(135deg,#ffffffb3,#e7f1ebcc),var(--surface);display:grid;place-content:center;gap:8px;text-align:center;color:var(--muted);box-shadow:var(--shadow)}.empty-panel strong{color:var(--ink);font-size:1.05rem}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.field{display:grid;gap:6px;min-width:180px}.field span{font-size:.82rem;color:var(--muted)}.field input,.field select{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid #9fd0ba;border-color:var(--brand)}.toolbar__count{margin-left:auto;padding:10px 12px;color:var(--muted);font-weight:600}.banner{padding:12px 14px;border-radius:12px;background:#e8f0ea;color:var(--muted)}.banner--error{background:#f8e8e8;color:var(--danger)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.table{width:100%;border-collapse:collapse;min-width:640px}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}.table th{position:sticky;top:0;background:#eef6f1;color:var(--brand-deep);font-size:.86rem;font-weight:600}.table tbody tr:hover td{background:#f3faf6}.table__empty{text-align:center!important;color:var(--muted);padding:28px 14px!important}.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-deep);font-size:.86rem;font-weight:600}.chip--team{background:#e7eef8;color:#25456d}.col-seq{width:64px;text-align:center!important;font-variant-numeric:tabular-nums;color:var(--muted)}.table-wrap--editing tbody tr:hover td{background:#eef8f2}.cell-input{width:100%;min-width:110px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}.cell-input:focus{outline:2px solid #9fd0ba;border-color:var(--brand)}.btn{height:34px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:600}.btn:hover:not(:disabled){background:#e8f3ed}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn--primary:hover:not(:disabled){background:var(--brand-deep)}@media(max-width:860px){.body{grid-template-columns:1fr!important}.sidebar{position:absolute;inset:0 auto 0 0;width:min(82vw,var(--sidebar-w));z-index:20;box-shadow:var(--shadow)}.shell--sidebar-open .sidebar-backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;border:0;background:#14201a47}.content{padding:18px 14px 28px}.footer{flex-direction:column;padding:12px 14px}.toolbar__count{margin-left:0}}
