:root{color:#173347;font-synthesis:none;text-rendering:optimizelegibility;background:#eef3f6;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}button,input,select{font:inherit}:root{--navy:#123f5a;--blue:#2f7198;--green:#56a537;--ink:#173347;--line:#dbe5eb;--soft:#f1f5f7}.topbar{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:0 22px;display:flex}.brand,.toolbar,.profile,.summary,.summary>div,.user-name,.backlog header,.backlog article>div,.editor header,.editor footer{align-items:center;display:flex}.brand{gap:13px}.brand img{background:#fff;border-radius:8px;width:68px;padding:3px}.brand div,.profile>span,.user-name>span{flex-direction:column;align-items:flex-start;display:flex}.brand span{color:#b8d6ee;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.brand h1{margin:1px 0 0;font-size:20px}.toolbar{gap:8px}.toolbar>button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:7px;min-width:34px;height:34px;padding:0 10px}.toolbar>button:not(.today){font-size:21px}.toolbar .today{font-size:9px;font-weight:800}.week-selector{flex-direction:column;align-items:center;min-width:195px;display:flex}.week-selector strong{font-size:18px}.week-selector small{color:#bed5e5;text-transform:capitalize;margin-top:2px;font-size:8px}.profile{border-left:1px solid #ffffff29;gap:8px;padding-left:13px}.profile>b,.user-name>b{width:34px;height:34px;color:var(--navy);background:#fff;border-radius:8px;place-items:center;font-size:9px;display:grid}.profile>span,.user-name>span{font-size:9px;font-weight:800}.profile small,.user-name small{color:#a8c3d6;text-transform:uppercase;font-size:7px}.summary{border-bottom:1px solid var(--line);background:#fff;gap:9px;min-height:64px;padding:9px 22px}.summary>div{border-right:1px solid var(--line);gap:22px;height:44px;padding:0 16px}.summary span{color:#728292;text-transform:uppercase;font-size:8px;font-weight:850}.summary b{font-size:20px}.summary .hint{color:#617486;border:0;margin-left:auto;font-size:8px}.workspace{grid-template-columns:minmax(0,1fr) 315px;height:calc(100vh - 142px);display:grid;overflow:hidden}.calendar{background:#fff;overflow:auto}.week-head,.user-row{grid-template-columns:180px minmax(0,1fr);display:grid}.week-head{z-index:20;border-bottom:1px solid var(--line);background:#f7fafb;min-height:48px;position:sticky;top:0}.week-head>div{color:#617486;text-transform:uppercase;align-items:center;padding:0 14px;font-size:8px;font-weight:850;display:flex}.week-head>div+div{border-left:1px solid var(--line);color:var(--blue);background:#eaf4f9;justify-content:space-between}.week-head span{text-transform:capitalize;font-size:8px;font-weight:700}.user-row{border-bottom:1px solid var(--line);min-height:92px}.user-name{z-index:12;border-right:1px solid var(--line);background:#fff;gap:9px;padding:0 12px;position:sticky;left:0}.user-name>b{background:var(--navy);color:#fff}.user-name small{color:#8797a4}.week-drop{background:linear-gradient(135deg,#fff,#f8fbfc);flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:8px;min-width:0;padding:10px;transition:background .15s;display:flex}.week-drop.ready{background:#eef8ec;box-shadow:inset 0 0 0 2px #56a53738}.allocation{color:#fff;text-align:left;cursor:pointer;border:0;border-left:4px solid #0000002e;border-radius:8px;width:min(260px,100%);min-height:58px;padding:9px 11px;overflow:hidden;box-shadow:0 4px 12px #14364a29}.allocation strong,.allocation span{display:block}.allocation strong{font-size:10px;line-height:1.35}.allocation span{opacity:.82;margin-top:5px;font-size:8px}.free-week{color:#9aa8b2;margin:auto 4px;font-size:9px;font-style:italic}.backlog{border-left:1px solid var(--line);background:var(--soft);padding:15px;overflow-y:auto}.backlog header{justify-content:space-between}.backlog header span,.editor header span{color:var(--blue);text-transform:uppercase;font-size:7px;font-weight:900}.backlog h2{margin:2px 0;font-size:18px}.backlog header>b{background:var(--navy);color:#fff;border-radius:7px;place-items:center;width:31px;height:27px;font-size:9px;display:grid}.backlog>p{color:#71808d;margin:8px 0 14px;font-size:8px;line-height:1.5}.backlog article{border:1px solid var(--line);cursor:grab;background:#fff;border-radius:9px;margin-bottom:8px;padding:11px;box-shadow:0 2px 7px #1733470d}.backlog article>div{justify-content:space-between}.backlog article div span{color:var(--blue);background:#eaf4f9;border-radius:4px;padding:3px 5px;font-size:6px;font-weight:900}.backlog article div b{color:#81909c;font-size:7px}.backlog article h3{margin:8px 0 4px;font-size:10px}.backlog article small{color:#71808d;font-size:7px}.empty{color:#82909a;text-align:center;padding:25px 10px;font-size:9px}.loading-state{color:#617486;background:#f7fafb;place-content:center;justify-items:center;gap:13px;height:calc(100vh - 78px);font-size:11px;display:grid}.spinner{border:3px solid #d9e6ed;border-top-color:var(--blue);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a24357a;place-items:center;display:grid;position:fixed;inset:0}.editor{background:#fff;border-radius:13px;width:min(560px,94vw);overflow:hidden;box-shadow:0 25px 65px #0a243547}.editor header{background:var(--navy);color:#fff;justify-content:space-between;align-items:flex-start;padding:20px}.editor h2{max-width:460px;margin:4px 0;font-size:17px}.editor header button{color:#fff;background:#ffffff1a;border:0;border-radius:8px;width:33px;height:33px;font-size:19px}.editor-fields{grid-template-columns:1fr 1fr;gap:12px;padding:19px;display:grid}.editor-fields label{color:#667785;text-transform:uppercase;flex-direction:column;gap:5px;font-size:8px;font-weight:800;display:flex}.editor-fields input,.editor-fields select{background:#f8fafb;border:1px solid #d8e2e8;border-radius:7px;height:37px;padding:0 9px;font-size:10px}.editor footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:13px 19px}.editor footer button{background:#fff;border:1px solid #d6e0e6;border-radius:7px;padding:10px 13px;font-size:9px;font-weight:850}.editor footer .danger{color:#b74343;margin-right:auto}.editor footer .primary{background:linear-gradient(135deg, var(--green), var(--blue));color:#fff;border:0}.notice{z-index:80;color:#fff;text-align:left;background:#173f58;border:0;border-radius:9px;gap:18px;max-width:410px;padding:12px 14px;font-size:9px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 13px 34px #0a24353d}.notice span{margin-left:auto}@media (width<=800px){.topbar{flex-direction:column;align-items:flex-start;padding:10px 12px}.brand div,.profile span,.toolbar .today{display:none}.toolbar{justify-content:center;width:100%}.week-selector{min-width:170px}.summary{padding-inline:10px}.summary .hint{display:none}.workspace{grid-template-columns:1fr;height:calc(100vh - 170px)}.week-head,.user-row{grid-template-columns:125px minmax(230px,1fr)}.backlog{z-index:30;border:1px solid var(--line);border-radius:10px;width:240px;max-height:42vh;position:fixed;bottom:10px;right:10px;box-shadow:0 10px 35px #0a243533}.editor-fields{grid-template-columns:1fr}}:root{--planning-ease:cubic-bezier(.22, 1, .36, 1);--planning-gold:#f0c400;--planning-cyan:#79a6cf}.planning-shell{background:radial-gradient(circle at 10% 0,#79a6cf24,#0000 29rem),linear-gradient(#f4f8fb 0%,#edf3f6 100%);min-height:100vh}.topbar{z-index:30;background:linear-gradient(115deg, #0d344c 0%, var(--navy) 56%, #174f6d 100%);position:relative;box-shadow:0 8px 28px #07253933}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--green), var(--planning-gold), transparent);opacity:.85;width:38%;height:2px;animation:3.8s ease-in-out infinite planning-top-light;position:absolute;bottom:0;right:4%}.brand img,.toolbar>button,.profile>b{transition:transform .25s var(--planning-ease), box-shadow .25s ease, background-color .2s ease, border-color .2s ease}.brand img:hover{transform:translateY(-2px)rotate(-1deg);box-shadow:0 12px 28px #0000003d}.toolbar>button:hover{background:#ffffff29;border-color:#b8d6ee9e;transform:translateY(-2px);box-shadow:0 0 16px #79a6cf33}.toolbar>button:active{transform:translateY(0)scale(.94)}.week-selector{background:#ffffff0e;border:1px solid #b8d6ee33;border-radius:11px;padding:7px 18px;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #79a6cf0a}.week-selector:after{content:"";background:linear-gradient(90deg,#0000,#ffffff6b,#0000);width:25%;height:240%;animation:4.5s ease-in-out infinite week-glint;position:absolute;top:-70%;left:-35%;transform:rotate(18deg)}.profile:hover>b{transform:scale(1.06);box-shadow:0 0 0 3px #79a6cf29,0 0 18px #79a6cf47}.summary{z-index:10;position:relative;box-shadow:0 5px 18px #123f5a0d}.summary>div{animation:planning-stat-in .5s var(--planning-ease) both;transition:transform .24s var(--planning-ease), background-color .2s ease, box-shadow .24s ease;border-radius:9px}.summary>div:nth-child(2){animation-delay:60ms}.summary>div:nth-child(3){animation-delay:.12s}.summary>div:nth-child(4){animation-delay:.18s}.summary>div:not(.hint):hover{background:linear-gradient(135deg,#79a6cf1a,#56a53709);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #2f719817,0 8px 18px #123f5a12}.summary b{color:#102f45;letter-spacing:-.035em}.calendar,.backlog{scrollbar-width:thin;scrollbar-color:#9fb1bf transparent}.calendar::-webkit-scrollbar{width:8px;height:8px}.backlog::-webkit-scrollbar{width:8px;height:8px}.calendar::-webkit-scrollbar-thumb{background:#9fb1bf padding-box padding-box;border:2px solid #0000;border-radius:12px}.backlog::-webkit-scrollbar-thumb{background:#9fb1bf padding-box padding-box;border:2px solid #0000;border-radius:12px}.week-head{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#f7fafbf0;overflow:hidden;box-shadow:0 5px 16px #123f5a0e}.week-head:after{content:"";background:linear-gradient(90deg, var(--blue), var(--green), var(--planning-gold), var(--blue));background-size:220% 100%;height:2px;animation:4s linear infinite week-line-flow;position:absolute;bottom:0;left:180px;right:0;box-shadow:0 0 10px #2f71986b}.user-row{animation:user-row-in .46s var(--planning-ease) both;position:relative}.calendar>.user-row:nth-child(3){animation-delay:40ms}.calendar>.user-row:nth-child(4){animation-delay:80ms}.calendar>.user-row:nth-child(5){animation-delay:.12s}.calendar>.user-row:nth-child(6){animation-delay:.16s}.calendar>.user-row:nth-child(n+7){animation-delay:.2s}.user-name{transition:background-color .22s,box-shadow .24s}.user-row:hover .user-name{background:linear-gradient(90deg,#fff,#f2f8fb);box-shadow:inset -3px 0 #2f71982e}.user-name>b{transition:transform .25s var(--planning-ease), box-shadow .25s ease}.user-row:hover .user-name>b{transform:translateY(-2px)scale(1.05);box-shadow:0 0 0 3px #2f71981f,0 7px 17px #123f5a2b}.week-drop{background:linear-gradient(90deg,#2f719806 1px,#0000 1px) 0 0/28px 100%,linear-gradient(135deg,#fff,#f8fbfc);transition:background-color .22s,box-shadow .28s,filter .25s;position:relative}.week-drop:after{content:"";z-index:5;pointer-events:none;border:1px solid #0000;border-radius:10px;transition:border-color .22s,box-shadow .28s,opacity .22s;position:absolute;inset:6px}.user-row:hover .week-drop:after{border-color:#2f71981f;box-shadow:inset 0 0 18px #2f719809}.planning-shell.is-dragging .week-drop.ready{box-shadow:none;background:linear-gradient(90deg,#56a5370b 1px,#0000 1px) 0 0/28px 100%,linear-gradient(135deg,#f7fbf6,#edf7eb)}.planning-shell.is-dragging .user-row.is-drop-target .week-drop{filter:brightness(1.015);background:linear-gradient(135deg,#f3fbf0,#e6f5e1)}.planning-shell.is-dragging .user-row.is-drop-target .week-drop:after{border:2px solid var(--green);animation:.8s ease-in-out infinite alternate planning-drop-pulse;box-shadow:0 0 0 4px #56a5371a,0 0 24px #56a5375c,inset 0 0 24px #56a5371a}.allocation{isolation:isolate;box-shadow:0 6px 15px #14364a2b, 0 0 0 1px color-mix(in srgb, var(--allocation-color) 22%, transparent);animation:allocation-in .42s var(--planning-ease) both;transition:transform .26s var(--planning-ease), box-shadow .27s ease, filter .24s ease;border:1px solid #fff3;border-left:4px solid #0003;position:relative}.allocation:before{content:"";z-index:-1;box-shadow:0 0 15px color-mix(in srgb, var(--allocation-color) 42%, transparent);opacity:.38;border:1px solid #ffffff52;border-radius:8px;transition:opacity .25s,box-shadow .27s;position:absolute;inset:-1px}.allocation:after{content:"";z-index:1;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffb3,#0000);width:34%;height:250%;position:absolute;top:-70%;left:-65%;transform:rotate(18deg)}.allocation:hover{z-index:8;filter:brightness(1.08)saturate(1.08);box-shadow:0 15px 30px #14364a3d, 0 0 0 1px #ffffff47, 0 0 22px color-mix(in srgb, var(--allocation-color) 55%, transparent);transform:translateY(-4px)scale(1.015)}.allocation:hover:before{opacity:.9}.allocation:hover:after{opacity:.68;animation:allocation-glint .7s var(--planning-ease) both}.allocation:active{transform:translateY(-1px)scale(.98)}.allocation:focus-visible{outline-offset:3px;outline:3px solid #2f719840}.allocation>*{z-index:2;position:relative}.backlog{background:radial-gradient(circle at 100% 0%, #79a6cf2e, transparent 14rem), var(--soft);position:relative;box-shadow:inset 8px 0 20px #123f5a06}.backlog:before{content:"";background:linear-gradient(180deg, var(--blue), var(--green), var(--planning-gold), var(--blue));background-size:100% 220%;width:2px;animation:4.5s linear infinite backlog-line;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 12px #2f719857}.backlog header>b{transition:transform .24s var(--planning-ease), box-shadow .24s ease;box-shadow:0 0 0 3px #2f71981a,0 7px 16px #123f5a24}.backlog:hover header>b{transform:scale(1.08);box-shadow:0 0 0 3px #2f719824,0 0 19px #2f71984d}.backlog article{animation:backlog-card-in .4s var(--planning-ease) both;transition:transform .25s var(--planning-ease), border-color .22s ease, box-shadow .25s ease;position:relative;overflow:hidden}.backlog article:before{content:"";background:linear-gradient(180deg, var(--blue), var(--green));opacity:0;width:3px;transition:opacity .22s;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 12px #2f71986b}.backlog article:hover{border-color:#a8ccdc;transform:translateY(-3px)translate(-2px);box-shadow:0 14px 28px #123f5a24,0 0 18px #2f71981f}.backlog article:hover:before{opacity:1}.backlog article:active{cursor:grabbing;transform:scale(.98)}.spinner{border-color:#2f719824;border-top-color:var(--blue);border-right-color:var(--green);box-shadow:0 0 20px #2f719833}.overlay{animation:.2s both planning-fade-in}.editor{animation:editor-in .34s var(--planning-ease) both}.editor header{background:linear-gradient(115deg, #0d344c, var(--navy), #174f6d)}.editor-fields input:focus,.editor-fields select:focus{border-color:var(--planning-cyan);outline:0;box-shadow:0 0 0 3px #79a6cf26,0 0 14px #2f71981a}.editor footer button{cursor:pointer;transition:transform .2s var(--planning-ease), box-shadow .2s ease}.editor footer button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #123f5a1f}.editor footer .primary{background-size:220% 220%;animation:4s infinite planning-button-flow}.notice{animation:planning-notice-in .36s var(--planning-ease) both;transition:transform .2s var(--planning-ease), box-shadow .2s ease}.notice:hover{transform:translateY(-2px);box-shadow:0 18px 40px #0a24354d}@keyframes planning-top-light{0%,to{opacity:.5;transform:scaleX(.75)}50%{opacity:1;transform:scaleX(1)}}@keyframes week-glint{0%,55%{left:-35%}80%,to{left:125%}}@keyframes week-line-flow{to{background-position:220% 0}}@keyframes planning-stat-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes user-row-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes allocation-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@keyframes allocation-glint{0%{left:-65%}to{left:135%}}@keyframes planning-drop-pulse{0%{filter:brightness()}to{filter:brightness(1.25)}}@keyframes backlog-line{to{background-position:0 220%}}@keyframes backlog-card-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}@keyframes planning-fade-in{0%{opacity:0}to{opacity:1}}@keyframes editor-in{0%{opacity:0;transform:translateY(18px)scale(.975)}to{opacity:1;transform:none}}@keyframes planning-button-flow{0%,to{background-position:0}50%{background-position:100%}}@keyframes planning-notice-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
