/* Rara Pixel Office v0.2 visual layer */
:root{--shadow-soft:0 8px 20px rgba(152,88,118,.08);--gold:#e5b84f}
.app-shell{grid-template-columns:150px 1fr 340px;grid-template-rows:86px 1fr}.topbar{padding:14px 24px}.sidebar{padding:18px 12px}.sleepy-cat{font-size:16px}.sleepy-cat .cat-emoji{font-size:24px}.main{padding:18px}.right-panel{padding:18px}
.office-shell{border-radius:30px;padding:18px 18px 22px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,249,252,.95));overflow:hidden}.office-shell:before{content:"";position:absolute;inset:0 0 auto;height:180px;background:linear-gradient(180deg,rgba(255,213,231,.74),transparent)}.office-shell:after{content:"";position:absolute;right:26px;top:74px;width:220px;height:70px;opacity:.13;background:linear-gradient(#b96d95,#b96d95) 0 24px/24px 46px no-repeat,linear-gradient(#b96d95,#b96d95) 30px 6px/34px 64px no-repeat,linear-gradient(#b96d95,#b96d95) 70px 18px/28px 52px no-repeat,linear-gradient(#b96d95,#b96d95) 106px 0/40px 70px no-repeat,linear-gradient(#b96d95,#b96d95) 152px 20px/28px 50px no-repeat,linear-gradient(#b96d95,#b96d95) 186px 8px/34px 62px no-repeat}.office-sign{position:relative;z-index:3;border-radius:16px;padding:12px 18px;margin:4px auto 18px;box-shadow:8px 8px 0 #f7c6da}.roof-row{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;margin:0 18px 8px}.roof-row .roof-left,.roof-row .roof-right{display:flex;align-items:center;gap:10px}.roof-pot{width:34px;height:18px;border-radius:5px;background:#e7a9c3;position:relative}.roof-pot:before{content:"";position:absolute;left:6px;right:6px;top:-11px;height:17px;background:#8bc879;border-radius:12px 12px 4px 4px}.blossom-tree{position:absolute;left:8px;bottom:18px;width:92px;height:118px;z-index:2}.blossom-tree:before{content:"";position:absolute;bottom:0;left:42px;width:10px;height:56px;background:#9c6c6c;border-radius:5px}.blossom-tree:after{content:"";position:absolute;left:6px;top:0;width:78px;height:72px;background:radial-gradient(circle at 20px 28px,#ffcade 0 18px,transparent 19px),radial-gradient(circle at 46px 18px,#ffb9d4 0 20px,transparent 21px),radial-gradient(circle at 60px 44px,#f7a7c7 0 17px,transparent 18px),radial-gradient(circle at 28px 50px,#ffcfe3 0 19px,transparent 20px)}
.building-v2{position:relative;z-index:3;display:grid;gap:12px;border:8px solid #b86b91;border-radius:22px;background:#efbdd2;padding:12px;box-shadow:inset 0 0 0 4px #ffeaf3}.floor-v2{display:grid;gap:12px}.floor-v2.top{grid-template-columns:1.05fr 1fr}.floor-v2.middle{grid-template-columns:1fr 1fr}.floor-v2.bottom{grid-template-columns:1fr 1.08fr}.support-stack{display:grid;grid-template-rows:1fr 1fr;gap:12px}.room-v2{position:relative;min-height:188px;border:4px solid #8b5770;border-radius:14px;background:linear-gradient(180deg,#fffdfd,#fff4f8);overflow:hidden;cursor:pointer;box-shadow:inset 0 -12px 0 rgba(243,205,221,.48)}.room-v2.small{min-height:128px}.room-v2:hover,.room-v2.active{outline:4px solid #ff9dc6;outline-offset:-6px}.room-v2 .room-label{top:12px;left:12px;z-index:5}.room-v2 .bubble{top:13px;right:10px;z-index:5}.room-scene-v2{position:absolute;inset:48px 12px 12px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.scene-group{display:flex;align-items:flex-end;gap:10px}.window-v2{position:absolute;right:15px;top:55px;width:94px;height:62px;border:4px solid #d3a6bf;border-radius:10px;background:linear-gradient(#eaf4ff,#fff3fb 72%);overflow:hidden}.window-v2:before{content:"";position:absolute;left:44px;top:0;bottom:0;width:4px;background:#d7b6c7}.window-v2:after{content:"";position:absolute;left:0;right:0;top:28px;height:4px;background:#d7b6c7}.window-cloud{position:absolute;left:13px;top:13px;width:25px;height:11px;background:#fff;border-radius:999px;box-shadow:12px 0 0 #fff,6px -6px 0 2px #fff}.desk-v2{position:relative;width:112px;height:32px;background:#daa0b9;border:4px solid #8a5870;box-shadow:inset 0 -5px 0 rgba(0,0,0,.08)}.desk-v2.small{width:88px;height:25px}.laptop-v2{position:absolute;left:16px;top:-20px;width:40px;height:26px;border:4px solid #4c435a;background:#6d647f}.laptop-v2:before{content:"";position:absolute;inset:5px;background:#302a38}.mug-v2{position:absolute;right:15px;top:-12px;width:16px;height:14px;background:#fff;border:3px solid #cf94b2;border-radius:4px}.plant-v2{width:22px;height:20px;background:#d18aaa;border-radius:4px;position:relative}.plant-v2:before{content:"";position:absolute;left:2px;right:2px;top:-12px;height:18px;background:radial-gradient(circle at 4px 10px,#8ccc80 0 7px,transparent 8px),radial-gradient(circle at 12px 8px,#78bd6a 0 7px,transparent 8px),radial-gradient(circle at 18px 10px,#8ccc80 0 7px,transparent 8px)}.books-v2{width:48px;height:70px;border:4px solid #8f6377;background:linear-gradient(#8f6377,#8f6377) 0 22px/100% 4px no-repeat,linear-gradient(#8f6377,#8f6377) 0 45px/100% 4px no-repeat,linear-gradient(#ffd071,#ffd071) 8px 8px/10px 12px no-repeat,linear-gradient(#9ed1a4,#9ed1a4) 24px 8px/11px 12px no-repeat,linear-gradient(#e0a8cf,#e0a8cf) 12px 31px/22px 11px no-repeat,linear-gradient(#8fc7ff,#8fc7ff) 8px 53px/10px 12px no-repeat,#ffe9f2}.poster-v2{width:50px;height:40px;border:4px solid #d7a8bf;background:#fff;border-radius:8px;position:relative}.poster-v2:before{content:"";position:absolute;left:9px;top:9px;width:28px;height:16px;background:linear-gradient(135deg,#f5b5d0 0 35%,#91cfff 36% 58%,#aedb96 59% 100%)}
.toto-avatar{position:relative;width:64px;height:102px;--hair:#f4a1c4;--body:#8d69b2;--accent:#f28ab4;--hat:transparent}.toto-avatar.small{width:54px;height:84px}.toto-avatar.large{width:108px;height:170px;margin:0 auto}.toto-hair{position:absolute;left:6px;top:10px;width:52px;height:28px;background:var(--hair);border:4px solid #7e5166;border-bottom:0;border-radius:16px 16px 9px 9px}.toto-hair:before,.toto-hair:after{content:"";position:absolute;bottom:-15px;width:10px;height:22px;background:var(--hair);border:4px solid #7e5166;border-top:0}.toto-hair:before{left:0}.toto-hair:after{right:0}.toto-head{position:absolute;left:10px;top:18px;width:44px;height:38px;background:#ffd4cf;border:4px solid #7e5166;border-radius:12px;z-index:2}.toto-face{position:absolute;left:18px;top:28px;width:28px;height:14px;z-index:3;background:linear-gradient(#5b3d4b,#5b3d4b) 2px 2px/4px 4px no-repeat,linear-gradient(#5b3d4b,#5b3d4b) 22px 2px/4px 4px no-repeat,linear-gradient(#f285aa,#f285aa) 10px 9px/8px 3px no-repeat}.toto-body{position:absolute;left:8px;top:58px;width:48px;height:38px;background:var(--body);border:4px solid #6d4e7f;box-shadow:inset 0 -8px 0 rgba(0,0,0,.08)}.toto-body:before{content:"";position:absolute;left:16px;top:0;width:14px;height:100%;background:rgba(255,255,255,.22)}.toto-hat{position:absolute;left:10px;top:7px;width:44px;height:18px;background:var(--hat);border:4px solid rgba(96,64,77,.45);border-bottom:0;border-radius:18px 18px 0 0;z-index:4}.toto-crown{position:absolute;left:18px;top:2px;width:28px;height:16px;background:var(--gold);clip-path:polygon(0 100%,12% 38%,28% 72%,42% 20%,58% 72%,74% 30%,88% 76%,100% 100%);z-index:5}.toto-name{position:absolute;left:50%;transform:translateX(-50%);bottom:-2px;white-space:nowrap;font-size:11px;font-weight:800}.toto-avatar.large .toto-hair{left:12px;top:22px;width:84px;height:40px}.toto-avatar.large .toto-head{left:18px;top:36px;width:72px;height:58px}.toto-avatar.large .toto-face{left:31px;top:52px;width:44px;height:20px;background:linear-gradient(#5b3d4b,#5b3d4b) 6px 4px/6px 6px no-repeat,linear-gradient(#5b3d4b,#5b3d4b) 30px 4px/6px 6px no-repeat,linear-gradient(#f285aa,#f285aa) 16px 12px/12px 4px no-repeat}.toto-avatar.large .toto-body{left:16px;top:98px;width:78px;height:56px}.toto-avatar.large .toto-name{bottom:0;font-size:13px}.toto-avatar.large .toto-hat{left:18px;top:17px;width:72px;height:26px}.toto-avatar.large .toto-crown{left:35px;top:7px;width:38px;height:20px}
.employee-hero{background:linear-gradient(180deg,#fff9fc,#fff3f8)}.avatar-pixel-card{width:150px;height:150px;margin:0 auto 10px;border:4px solid var(--employee-accent);border-radius:26px;background:linear-gradient(180deg,var(--employee-soft),#fff);box-shadow:10px 10px 0 #f8c9dc;padding-top:5px;overflow:hidden}.quote-box{margin-top:12px;background:#fff;border:1px dashed var(--line);border-radius:14px;padding:10px;font-size:13px;color:var(--rose)}.employee-card-v2{background:linear-gradient(180deg,#fff,#fff5f9);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-soft);cursor:pointer}.employee-card-v2:hover{transform:translateY(-2px)}.dept-chip{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}
.mini-avatar{position:relative;display:inline-block;width:30px;height:32px;flex:0 0 30px;vertical-align:middle}.mini-hair{position:absolute;left:5px;top:2px;width:20px;height:12px;background:var(--hair);border:2px solid #785366;border-radius:8px 8px 4px 4px}.mini-face{position:absolute;left:7px;top:8px;width:16px;height:14px;background:#ffd4cf;border:2px solid #785366;border-radius:5px}.mini-body{position:absolute;left:5px;bottom:0;width:20px;height:12px;background:var(--body);border:2px solid #6d4e7f;border-radius:3px}
.project-list{display:grid;gap:14px}.project-card-v2{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft);cursor:pointer}.project-card-v2:hover{transform:translateY(-2px);border-color:var(--pink-400)}.project-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-card-head h3{display:inline;margin:0 0 4px;font-size:19px}.project-team{margin:12px 0 14px}.project-team-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.team-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid;border-radius:14px;padding:5px 9px;font-size:12px;font-weight:800}.project-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#fff,#fff2f8);border:1px solid var(--line);border-radius:24px;padding:22px;margin-bottom:12px;box-shadow:var(--shadow-soft)}.project-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--pink-500)}.project-score{width:96px;height:96px;border-radius:28px;border:3px solid var(--line);background:#fff;display:grid;place-content:center;text-align:center;box-shadow:7px 7px 0 #f8cfdf}.project-score b{font-size:25px;color:var(--pink-500)}.project-score span{font-size:11px;color:var(--muted);font-weight:800}.tab-strip{display:flex;gap:8px;margin:12px 0}.tab-strip button{padding:9px 15px;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:800}.tab-strip button.active{background:var(--pink-500);color:#fff}.project-task-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 14px;border-left:5px solid var(--pink-400);border-bottom:1px dashed #eed4e0}.project-task-owner{display:flex;align-items:center;gap:9px}
.task-card-v2{position:relative;background:#fff;border:1px solid var(--line);border-left:5px solid var(--employee-accent);border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow-soft)}.task-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.task-dept{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}.task-owner{display:flex;align-items:center;gap:8px;margin:10px 0}.task-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:9px;border-top:1px dashed #ecd2df;color:var(--muted);font-size:11px;font-weight:700}.task-status-dot{width:9px;height:9px;border-radius:50%;background:#aaa}.task-status-dot.todo{background:#a9b9c6}.task-status-dot.working{background:#7aafff}.task-status-dot.review{background:#f3b84b}.task-status-dot.approved{background:#bb91f2}.task-status-dot.done{background:#7bcf91}
.approval-list-v2{display:grid;gap:14px}.approval-card-v2{display:grid;grid-template-columns:1fr auto;grid-template-areas:"person actions" "message actions" "state actions";gap:10px 18px;background:linear-gradient(135deg,#fff,var(--employee-soft));border:1px solid var(--line);border-left:6px solid var(--employee-accent);border-radius:20px;padding:17px;box-shadow:var(--shadow-soft)}.approval-person{grid-area:person;display:flex;align-items:flex-start;gap:11px}.approval-message{grid-area:message;background:#fff;border:1px dashed var(--line);border-radius:13px;padding:11px;color:var(--rose)}.approval-state{grid-area:state;font-size:12px;font-weight:900;color:var(--rose)}.approval-card-v2 .approval-actions{grid-area:actions;align-self:center;display:flex;flex-direction:column;gap:8px}
.report-briefing-card{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:20px;border:1px solid var(--line);border-radius:26px;padding:18px 22px;background:linear-gradient(135deg,var(--employee-soft),#fff);box-shadow:var(--shadow-soft);overflow:hidden}.report-secretary{height:150px;overflow:hidden;display:flex;align-items:flex-start;justify-content:center}.briefing-bubbles{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.briefing-bubbles span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.report-task-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px dashed #eed4e0}.report-order{width:26px;height:26px;border-radius:9px;background:var(--pink-100);display:grid;place-items:center;color:var(--rose);font-weight:900}.briefing-note{position:relative;overflow:hidden}.briefing-note:after{content:"♡";position:absolute;right:18px;bottom:-10px;font-size:72px;color:#fde2ed;font-weight:900}
@keyframes totoWork{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}.room-v2 .toto-avatar{animation:totoWork 1.8s ease-in-out infinite}.room-v2 .bubble{animation:totoWork 2.4s ease-in-out infinite}.room-v2.small .toto-avatar{transform:scale(.83);transform-origin:bottom center}
@media(max-width:1180px){.app-shell{grid-template-columns:124px 1fr}.right-panel{display:none}.topbar{grid-column:1/3}}@media(max-width:920px){.floor-v2.top,.floor-v2.middle,.floor-v2.bottom{grid-template-columns:1fr}.support-stack{grid-template-rows:auto auto}.report-briefing-card{grid-template-columns:1fr}.report-secretary{display:none}.approval-card-v2{grid-template-columns:1fr;grid-template-areas:"person" "message" "state" "actions"}.approval-card-v2 .approval-actions{flex-direction:row}.project-detail-hero{align-items:flex-start}.project-score{width:78px;height:78px}}
