:root{
  --pink-050:#fff8fb; --pink-100:#ffeaf3; --pink-200:#ffd0e3; --pink-300:#f9a9c9;
  --pink-400:#ee7eae; --pink-500:#d95c95; --rose:#a94472; --ink:#513243; --muted:#8f6d7f;
  --lav:#e9dcff; --cream:#fff7ec; --mint:#dff5e9; --line:#e8b6cb; --panel:#fffafc;
  --shadow:0 14px 35px rgba(143,74,108,.14);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-rounded,"Pretendard","Noto Sans KR",system-ui,sans-serif;background:linear-gradient(180deg,#ffd9e9,#fff9fc 48%,#f5eeff);color:var(--ink)}
button,input,textarea,select{font:inherit}.app-shell{height:100vh;display:grid;grid-template-columns:176px 1fr 360px;grid-template-rows:82px 1fr;gap:0}.topbar{grid-column:1/4;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:rgba(255,247,251,.94);border-bottom:2px solid var(--line);backdrop-filter:blur(12px)}
.brand-wrap{display:flex;align-items:center;gap:12px}.brand-avatar{width:50px;height:50px;border:3px solid var(--rose);background:var(--pink-200);border-radius:12px;display:grid;place-items:center;font-size:28px;box-shadow:inset 0 0 0 4px #fff}.brand{font-weight:900;font-size:24px;color:var(--rose)}.subbrand{font-size:12px;color:var(--muted);margin-top:3px}.top-stats{display:flex;gap:10px;flex-wrap:wrap}.top-stats span{background:white;border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:13px}
.sidebar{grid-row:2;display:flex;flex-direction:column;gap:8px;padding:18px 12px;background:rgba(255,244,249,.94);border-right:1px solid var(--line)}.nav-btn{border:0;background:transparent;color:var(--ink);border-radius:12px;padding:12px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:700;position:relative}.nav-btn:hover,.nav-btn.active{background:var(--pink-500);color:white;box-shadow:0 5px 13px rgba(217,92,149,.22)}.badge{margin-left:auto;background:white;color:var(--pink-500);padding:2px 7px;border-radius:999px;font-style:normal}.hidden{display:none!important}.sleepy-cat{margin-top:auto;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:16px;padding:12px;color:var(--muted);font-size:22px}.sleepy-cat div{font-size:11px}.sleepy-cat small{font-size:10px;line-height:1.4}
.main{grid-row:2;overflow:auto;padding:18px;background-image:radial-gradient(rgba(222,122,164,.09) 1px,transparent 1px);background-size:16px 16px}.right-panel{grid-row:2;overflow:auto;padding:18px;background:rgba(255,250,252,.94);border-left:1px solid var(--line)}
.page-title{display:flex;justify-content:space-between;align-items:center;margin:2px 0 16px}.page-title h1{margin:0;font-size:25px}.page-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.primary,.secondary,.ghost{border:0;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:800}.primary{background:linear-gradient(135deg,var(--pink-500),var(--pink-400));color:white}.secondary{background:var(--lav);color:#6f4a85}.ghost{background:white;color:var(--rose);border:1px solid var(--line)}.wide{width:100%;padding:13px}
.office-shell{background:rgba(255,255,255,.76);border:2px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.office-sign{text-align:center;background:white;border:3px solid var(--line);width:min(460px,72%);margin:0 auto 15px;padding:10px;border-radius:12px;font-weight:900;color:var(--pink-500);font-size:24px;box-shadow:6px 6px 0 #f8c8dc}.building{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f2b9d1;border:8px solid #b8658f;border-radius:14px;padding:10px;box-shadow:inset 0 0 0 4px #ffe8f2}.room{min-height:220px;background:linear-gradient(180deg,#fff9fc,#ffeef6);border:4px solid #8d5870;position:relative;padding:46px 14px 14px;overflow:hidden;cursor:pointer}.room:hover{outline:4px solid #ff9bc6;outline-offset:-6px}.room-label{position:absolute;top:10px;left:12px;background:#fff;border:2px solid var(--line);border-radius:10px;padding:6px 10px;font-weight:900}.desk-row{display:flex;align-items:flex-end;justify-content:center;gap:18px;height:145px}.pixel-person{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}.pixel-head{width:44px;height:44px;background:var(--pink-200);border:4px solid #7d4a63;border-radius:9px 9px 6px 6px;position:relative;box-shadow:inset 0 -10px 0 #f88ab6}.pixel-head:before,.pixel-head:after{content:"";position:absolute;width:5px;height:6px;background:#503242;top:18px}.pixel-head:before{left:10px}.pixel-head:after{right:10px}.pixel-body{width:50px;height:45px;background:#8d69b2;border:4px solid #644a79}.pixel-desk{width:108px;height:30px;background:#d98ba9;border:4px solid #814c66;position:absolute;bottom:26px}.pixel-monitor{width:38px;height:28px;background:#5b526b;border:4px solid #463f52;position:absolute;bottom:55px}.bubble{position:absolute;right:8px;top:50px;background:white;border:2px solid var(--line);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;color:var(--rose)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:#77d29b}.status-dot.working{background:#79a7ff}.status-dot.review{background:#f3b84b}.status-dot.done{background:#7bcf91}.status-dot.error{background:#e66b78}
.panel-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 5px 18px rgba(166,83,123,.08)}.employee-hero{text-align:center}.avatar-large{width:100px;height:100px;margin:0 auto 10px;border:4px solid var(--rose);border-radius:18px;background:linear-gradient(#ffd0e3,#ff9cc4);display:grid;place-items:center;font-size:48px;box-shadow:8px 8px 0 #f7c0d8}.employee-name{font-size:22px;font-weight:900}.employee-role{color:var(--muted);font-size:13px;margin-top:3px}.status-line{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress{height:10px;background:#f4dbe6;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--pink-500),#ff98c2);border-radius:99px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:5px 9px;border-radius:999px;background:var(--lav);color:#6b4b82;font-size:11px;font-weight:800}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-actions button{padding:10px;border:1px solid var(--line);background:#fff7fb;border-radius:11px;cursor:pointer;font-weight:800;color:var(--rose)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.staff-card,.project-card{background:white;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow);cursor:pointer}.staff-card:hover,.project-card:hover{transform:translateY(-2px)}.staff-card h3,.project-card h3{margin:8px 0}.muted{color:var(--muted);font-size:12px}.metric-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.metric{background:var(--pink-050);border:1px solid #f2d3e0;border-radius:10px;padding:7px 9px;font-size:12px}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;min-width:1040px}.kanban-col{background:rgba(255,255,255,.65);border:1px solid var(--line);border-radius:16px;padding:10px;min-height:430px}.kanban-col h3{font-size:13px;margin:0 0 10px}.task-card{background:white;border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:9px;box-shadow:0 5px 12px rgba(143,74,108,.08);cursor:pointer}.task-card strong{display:block;margin-bottom:5px}.priority-high{border-left:5px solid #e96478}.priority-normal{border-left:5px solid #e7b84c}.priority-low{border-left:5px solid #7dc99a}.task-actions{display:flex;gap:5px;margin-top:8px}.task-actions button{font-size:10px;padding:5px 7px;border:0;border-radius:7px;cursor:pointer}
.approval-card{display:flex;justify-content:space-between;gap:15px;align-items:center;background:white;border:1px solid var(--line);border-radius:16px;padding:15px;margin-bottom:10px}.approval-actions{display:flex;gap:7px}.report-hero{background:linear-gradient(135deg,#fff,#ffe7f1);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.stat-box{background:white;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}.stat-box b{display:block;font-size:24px;color:var(--rose)}
.command-fab{position:fixed;right:28px;bottom:24px;z-index:30;border:0;border-radius:999px;background:linear-gradient(135deg,#cf4f8b,#ee84b3);color:white;padding:13px 18px;font-weight:900;box-shadow:0 10px 25px rgba(191,70,126,.32);cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:rgba(67,40,55,.34);display:grid;place-items:center;z-index:50;padding:20px}.modal{width:min(590px,95vw);background:#fffafd;border:2px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 20px 70px rgba(60,30,45,.25);position:relative}.modal h2{margin-top:0}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:28px;cursor:pointer;color:var(--rose)}label{font-weight:800;font-size:12px;display:block;margin:12px 0 6px}textarea,select,input{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;background:white;color:var(--ink)}textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px}.quick-chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.quick-chips button{border:1px solid var(--line);background:white;border-radius:999px;padding:7px 10px;cursor:pointer}.command-result{margin-top:12px;background:#fff1f7;border:1px dashed var(--line);border-radius:12px;padding:10px;font-size:12px;white-space:pre-wrap;min-height:0}.empty{text-align:center;padding:45px 20px;color:var(--muted)}
@media(max-width:1100px){.app-shell{grid-template-columns:150px 1fr;grid-template-rows:82px 1fr}.topbar{grid-column:1/3}.right-panel{position:fixed;right:0;top:82px;bottom:0;width:330px;z-index:20;box-shadow:-10px 0 30px rgba(90,50,70,.15)}.building{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(5,240px)}}
@media(max-width:760px){.app-shell{grid-template-columns:72px 1fr}.sidebar span{display:none}.sidebar{padding:12px 8px}.nav-btn{justify-content:center}.top-stats span:nth-child(n+3){display:none}.brand{font-size:18px}.subbrand{display:none}.right-panel{display:none}.main{padding:10px}.form-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}}
