*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#24304a;font-family:Tahoma,Arial,sans-serif;font-size:16px;line-height:1.65}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #e4e8f0;background:white;border-radius:10px;padding:9px 16px;color:inherit}button:hover{background:#f0edfc}a{color:inherit;text-decoration:none}aside{position:fixed;right:0;top:0;bottom:0;width:242px;background:white;border-left:1px solid #e5e9f2;padding:30px 22px;display:flex;flex-direction:column}.brand{font-size:32px;font-weight:bold;color:#6852bd;display:block}.brand span{display:inline-grid;place-items:center;background:#7259c5;color:white;width:46px;height:46px;border-radius:16px;font-size:24px}.brand b{display:block;font-size:13px;color:#8790a7;margin-right:59px;font-weight:normal}.family{margin:35px 0 22px;padding:15px;background:#f6f4fc;border-radius:12px;font-weight:bold}small{display:block;color:#7d879c;font-size:13px;font-weight:normal}nav{display:grid;gap:8px}nav a{padding:12px 15px;border-radius:10px;color:#748099;font-size:15px}nav a.active{background:#ede8fb;color:#7155bf;font-weight:bold}nav a span{display:inline-block;width:30px}.aside-bottom{margin-top:auto;font-size:13px;color:#9b91b7}.aside-bottom small{margin-top:10px;font-size:12px}main{margin-right:242px}header{height:88px;display:flex;justify-content:space-between;align-items:center;padding:0 38px;border-bottom:1px solid #e5e9f2;background:#fff}.breadcrumb{font-size:14px;color:#8a93a6}.breadcrumb b{color:#4a5368}.header-actions{display:flex;gap:12px;align-items:center;font-size:14px}.header-actions button{position:relative}.header-actions button span{font-size:11px;background:#e38388;color:white;border-radius:50%;padding:0 4px}.avatar{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:50%;font-weight:bold;font-size:15px;flex-shrink:0}.violet{background:#eee6fb;color:#8a61bd}.blue{background:#e2effc;color:#5184bc}.pink{background:#fce6ee;color:#bc6388}.green{background:#dff3ec;color:#478d77}.demo{margin:18px 38px 0;padding:9px 14px;border:1px solid #e0daf2;border-radius:9px;color:#79679d;background:#f0edfa;font-size:12px}section{padding:24px 38px 45px;max-width:1550px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}h1{margin:0;font-size:28px;letter-spacing:-.7px}h2{font-size:18px;margin:0}h3{margin:0;font-size:16px}p{margin:5px 0;color:#8490a5;font-size:14px}.primary{background:#7356c3;color:#fff;border-color:#7356c3;box-shadow:0 4px 10px #7356c329}.primary:hover{background:#6244b2}.greeting{background:#eee9fc;border-radius:18px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;border:1px solid #e2daf7}.greeting p{color:#83709f}.greeting .date{text-align:center;background:#ffffffa8;padding:15px 23px;border-radius:14px;font-size:14px;color:#8874b0}.date b{display:block;font-size:26px;color:#6c50b1}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat,.card{background:#fff;border:1px solid #e6eaf2;border-radius:15px;padding:22px}.stat{position:relative}.stat .icon{position:absolute;left:20px;top:20px;font-size:22px;color:#8f73bf;background:#f3eefb;padding:4px 12px;border-radius:11px}.stat b{font-size:30px;display:block;margin:7px 0}.stat small{font-size:12px;color:#6ca48a}.stat label{font-size:14px;color:#7e8a9f}.columns{display:grid;grid-template-columns:1.65fr 1fr;gap:24px}.cardhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.textbtn{border:0;background:transparent;color:#8b71bb;padding:0;font-size:13px}.task{display:flex;align-items:center;gap:13px;border-bottom:1px solid #edf0f5;padding:17px 0}.task:last-child{border-bottom:0}.check{padding:0;width:23px;height:23px;border:1.5px solid #d7dbe6;border-radius:7px;color:white;flex-shrink:0}.check.done{background:#8cae9f;border-color:#8cae9f}.task .content{flex:1}.task.done h3{text-decoration:line-through;color:#929aab}.task small{font-size:12px;margin-top:4px}.tag{font-size:12px;padding:4px 10px;border-radius:7px;background:#f1ebfb;color:#906ab6;white-space:nowrap}.tag.orange{background:#fff1e4;color:#c89453}.tag.green{background:#e8f5ee;color:#609d81}.tag.blue{background:#eaf1fd;color:#668fbd}.tag.red{background:#fdecef;color:#be7382}.member{display:flex;gap:12px;align-items:center;margin:18px 0}.member .grow{flex:1}.progress{height:6px;border-radius:5px;background:#eeeaf5;margin-top:7px;overflow:hidden}.progress i{display:block;height:100%;background:#a38bcf;border-radius:5px}.member strong{font-size:14px}.announcement{background:#f8f6fd;border-radius:12px;padding:17px;margin-top:18px}.announcement p{font-size:13px}.minirow{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #eff1f6}.minirow:last-child{border:0}.minirow .grow{flex:1}.lower{margin-top:24px}.tabs{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.tabs button.active{background:#7255c1;color:white}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{min-height:96px;background:#fff;border:1px solid #e6e9f2;border-radius:10px;padding:10px;font-size:14px}.day.today{border-color:#9b80d1;background:#f4effc}.day .event{font-size:12px;background:#eee7fb;color:#8762b6;border-radius:5px;padding:3px;margin-top:5px}.weekday{text-align:center;font-size:13px;color:#8690a3;padding:8px}.chatlayout{display:grid;grid-template-columns:260px 1fr;gap:20px}.chatlist button{width:100%;text-align:right;margin-bottom:10px;padding:16px}.chatlist button.active{border-color:#a58ace;background:#f2edfb}.messages{min-height:320px;max-height:450px;overflow:auto;display:flex;flex-direction:column;gap:16px}.bubble{align-self:flex-start;background:#f0edf7;border-radius:12px 0 12px 12px;padding:12px 18px;max-width:85%;font-size:14px}.bubble.mine{align-self:flex-end;background:#7358bb;color:white;border-radius:0 12px 12px 12px}.bubble small{font-size:11px}.chatinput{display:flex;gap:10px;margin-top:22px}input,select{width:100%;padding:10px;border:1px solid #dfe3ed;border-radius:8px;background:white;color:inherit}.chart{display:flex;height:160px;gap:18px;align-items:end;padding-top:20px}.bar{flex:1;background:#b19bdc;border-radius:8px 8px 0 0;min-height:4px;position:relative}.bar small{position:absolute;top:-25px;width:100%;text-align:center;color:#765aab}.chartlabels{display:flex;justify-content:space-around;font-size:12px;margin-top:8px;color:#8791a4}.empty{padding:35px;text-align:center;color:#8791a4}.notice{background:#f8f6fd;border-radius:12px;padding:18px;margin-bottom:16px;font-size:14px}dialog{border:0;border-radius:18px;padding:25px;width:450px;max-width:95vw;box-shadow:0 15px 80px #3333}dialog::backdrop{background:#26314a66}label{display:block;font-size:14px}form label{margin:12px 0}form label input,form label select{margin-top:5px}.dialog-head{display:flex;align-items:center;justify-content:space-between}form>.primary{width:100%;margin-top:15px}#toast{position:fixed;bottom:24px;left:24px;background:#34304c;color:white;padding:12px 22px;border-radius:10px;display:none;z-index:10}.requestactions{display:flex;gap:6px;margin-top:9px}.requestactions button{font-size:12px;padding:4px 9px}button:focus-visible,a:focus-visible{outline:3px solid #a898dd;outline-offset:3px}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}aside{width:210px}main{margin-right:210px}section,header{padding-left:24px;padding-right:24px}.demo{margin-left:24px;margin-right:24px}}@media(max-width:700px){aside{position:static;width:auto;padding:14px 18px;border:0}.brand{font-size:26px}.brand b,.family,.aside-bottom{display:none}nav{display:flex;overflow:auto;gap:5px;margin-top:14px}nav a{white-space:nowrap;padding:9px;font-size:13px}nav a span{width:20px}main{margin:0}header{height:70px;padding:0 18px}.demo{margin:12px 18px 0;font-size:12px}section{padding:22px 18px}h1{font-size:23px}.heading{align-items:flex-start}.heading button{font-size:14px}.greeting{padding:20px}.greeting .date{padding:10px}.greeting p{max-width:210px}.stats{gap:10px}.stat{padding:16px}.stat .icon{left:10px;top:12px}.card{padding:18px}.calendar{gap:3px}.day{padding:5px;min-height:78px;font-size:12px}.day .event{font-size:10px;overflow-wrap:anywhere}.chatlayout{grid-template-columns:1fr}.chatlist{display:flex;overflow:auto;gap:8px}.chatlist button{min-width:150px;font-size:13px}.tag{font-size:11px}.task{gap:8px}.task h3{font-size:14px}.greeting h2{font-size:18px}}
/* Glass surfaces keep normal document flow; no stacked modal panels. */
body{background:radial-gradient(ellipse at 85% 0,#dae9fc 0,transparent 48%),radial-gradient(ellipse at 5% 40%,#e8ddff 0,transparent 50%),#f2f5fc;background-attachment:fixed}.card,.stat,header,aside{background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.9);box-shadow:0 6px 24px #39457508}.card,.stat{min-width:0;border-radius:20px}.role-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.role-switch label{display:flex;gap:12px;align-items:center;font-weight:bold}.role-switch select{width:190px;background:#ffffffb3}.dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:24px;background:linear-gradient(120deg,#273967,#505591);color:white;margin-bottom:24px}.dashboard-banner h2{font-size:25px;margin-top:12px}.dashboard-banner p{color:#e0e7fa;max-width:650px}.completion{text-align:center;flex-shrink:0}.completion b{font-size:44px;display:block}.completion span{font-size:14px;color:#dce2f5}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.status-grid>div{background:#f0f2fa;border-radius:14px;padding:15px 6px;text-align:center}.status-grid b{display:block;font-size:25px;color:#69619f}.status-grid span{font-size:12px}.spaced{margin-top:25px}.task-code{display:block;font-family:monospace;font-size:12px;color:#77649e;overflow-wrap:anywhere;text-align:right;margin-top:5px}.task{flex-wrap:wrap}.task .content{min-width:140px}.task-search{margin-bottom:18px;background:#ffffffc9}.detail-code{font-family:monospace;font-size:16px;overflow-wrap:anywhere;color:#65529e;text-align:right}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.detail-grid b{display:block;margin-top:8px;font-size:16px}.late b{color:#b56375}dialog[open]{position:static;inset:auto;display:block;margin:0 auto 35px;width:calc(100% - 76px);max-width:900px;box-shadow:none;border:1px solid #dadfec;background:#fff;border-radius:20px;padding:28px;scroll-margin-top:20px}dialog form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.dialog-head,dialog form>.primary{grid-column:1/-1}dialog form label{min-width:0}dialog form label[hidden]{display:none}#toast{pointer-events:none;max-width:calc(100vw - 48px)}.header-actions{min-width:0}.header-actions small{font-size:12px}@media(max-width:700px){.role-switch{align-items:flex-start;flex-direction:column;gap:8px}.role-switch label{width:100%;justify-content:space-between;font-size:14px}.role-switch small{font-size:12px}.dashboard-banner{padding:23px;gap:15px}.dashboard-banner h2{font-size:20px}.completion b{font-size:31px}.completion span{font-size:12px}.detail-grid{grid-template-columns:repeat(2,1fr)}dialog[open]{width:calc(100% - 36px);padding:20px}dialog form{grid-template-columns:1fr}.task-code{font-size:12px}.task .tag{margin-right:36px}.heading{flex-wrap:wrap}}
@media(prefers-reduced-transparency:reduce){.card,.stat,header,aside{background:#fff;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
textarea{width:100%;font:inherit;padding:10px;border:1px solid #dfe3ed;border-radius:8px;resize:vertical}button.danger{color:#b34967;border-color:#e4bdc7}.request-link{width:100%;text-align:left}.minirow{flex-wrap:wrap}input[type=checkbox]{width:20px;height:20px;vertical-align:middle}.solid .card,.solid .stat,.solid header,.solid aside{background:#fff;backdrop-filter:none}.dark{background:radial-gradient(ellipse at 90% 0,#263957,transparent 55%),#151e30;color:#e4eaf5}.dark .card,.dark .stat,.dark header,.dark aside,.dark.solid .card,.dark.solid .stat,.dark.solid header,.dark.solid aside{background:#202c40;border-color:#364359}.dark button,.dark input,.dark select,.dark textarea,.dark dialog[open]{background:#26344b;color:#eef2fb;border-color:#485670}.dark .family,.dark nav a.active,.dark .announcement,.dark .notice,.dark .demo,.dark .status-grid>div,.dark .day,.dark .bubble{background:#2c3651;color:#dedcf5;border-color:#44516c}.dark .primary,.dark .tabs button.active{background:#8067c8}.dark .breadcrumb b,.dark .stat label,.dark .role-switch label,.dark h3{color:#e4eaf5}.dark p,.dark small{color:#b2bfd4}.dark .task,.dark .minirow{border-color:#3d4960}.dark .day.today{background:#4c426a}.dark .progress{background:#364158}.dark .task-code,.dark .detail-code{color:#cabafa}.dark .tag{background:#3c365a;color:#ddd2f4}.dark .tag.green{background:#23483e;color:#b5e8d2}.dark .tag.orange{background:#503e2e;color:#f0d2a7}form[hidden]{display:none!important}.task small{font-size:14px}.stat label{font-size:14px}.day .event{font-size:12px}
.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.record-card .tabs{margin-top:15px;margin-bottom:0}.inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.inline-grid button{align-self:end}.error{color:#a03f56;background:#f9e9ef}#sharedBody{min-width:0}#sharedBody form{margin-top:18px}#sharedBody select[multiple]{min-height:120px}#sharedBody .task-code{text-align:right}.record-card .cardhead{align-items:flex-start;gap:10px}#sharedBody .chatinput{display:flex}.record-card h3{overflow-wrap:anywhere}button:disabled{opacity:.55;cursor:wait}@media(max-width:700px){.record-grid,.inline-grid{grid-template-columns:1fr}.record-card .tag{white-space:normal}}
