@font-face{font-family:Vazirmatn;src:url('/assets/fonts/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--font:Vazirmatn,Tahoma,sans-serif;--ink:#222238;--muted:#77788f;--teal:#7460de;--line:#edecf4;--bg:#f7f7fc;--mint:#c2f5db;--purple:#7460de}
body{font-size:14px;line-height:1.85;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 8% 0,#ece9fa80,transparent 45%),var(--bg)}
.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle;display:inline-block}
.sidebar{background:#1e2034;color:#d5d5e3;border:0;width:246px;padding:29px 19px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#44455e transparent}
.brand{color:#fff;font-size:31px;letter-spacing:-1px;gap:14px}
.brand small{color:#9496b1;font-size:11px;letter-spacing:0}
.brand-mark{background:#c4f4db;color:#263d3b;width:48px;height:48px;border-radius:16px;font-weight:850;font-size:33px;box-shadow:0 5px 20px #0002;transform:rotate(-6deg)}
.workspace{background:#2b2d43;border-color:#393b52;border-radius:13px;margin:29px 0 25px;padding:13px 11px;font-size:12px;color:#efeff5}
.workspace small{color:#a0a3bc;font-size:10px}
.workspace-icon{background:#c2f5db15;width:33px;height:33px;border-radius:10px;display:grid;place-items:center;color:#c2f5db}
.workspace-icon .icon{width:18px;height:18px}
.online{background:#bdf0d5;box-shadow:0 0 0 4px #bdf0d50c}
.nav-label{color:#8589a7;font-size:11px;margin-bottom:12px}
nav a{color:#b4b6cd;font-size:13px;gap:12px;padding:11px 14px;border-radius:11px;margin-bottom:5px;position:relative;transition:background .18s,color .18s,transform .18s}
nav a:hover{color:#fff;background:#2d2f48;transform:translateX(-2px)}
nav a.active{background:#7870db25;color:#d4cdff;font-weight:650}
nav a.active:before{content:'';height:22px;width:3px;border-radius:3px;background:#bdb0ff;position:absolute;right:0}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px}
.nav-icon .icon{width:20px;height:20px;stroke-width:1.6}
.nav-count{background:#454360;color:#d7d3ff;font-size:11px;border-radius:6px;min-width:23px}
.sidebar-foot{color:#c2f5db;border-color:#36384e;font-size:11px;margin-top:28px}
.sidebar-foot small{color:#9296b0;font-size:10px}
.pulse{background:#c2f5db;box-shadow:0 0 0 4px #c2f5db10}
.main-shell{margin-right:246px}
header{height:85px;padding:0 33px;background:#ffffff90;backdrop-filter:blur(16px);border-color:#ecebf3}
.breadcrumb{font-size:12px}
.breadcrumb b{font-weight:550}
.header-tools{gap:14px}
.header-date{display:flex;gap:8px;align-items:center;font-size:11px;color:#74768b;padding-left:15px;border-left:1px solid var(--line)}
.header-date .icon{width:17px;height:17px;color:#9283ca}
.demo-badge{color:#7d6aae;background:#eeeafb;border:0;font-size:10px;border-radius:7px;padding:4px 9px}
.identity-label{font-size:11px;color:#7c7e91;gap:9px}
.identity-label select{font-size:11px;background:#fff;border-radius:9px;padding:8px 9px;max-width:195px}
.avatar{font-family:var(--font);font-weight:700;border-radius:12px;width:36px;height:36px;font-size:12px}
.avatar.small{border-radius:50%;width:29px;height:29px;font-size:10px}
main{padding:29px 33px 35px;max-width:1550px}
.page-head{margin-bottom:23px}
.page-head h1{font-size:27px;font-weight:800;letter-spacing:-.7px;line-height:1.6;margin:4px 0}
.page-head p{font-size:12px;color:#808097}
.eyebrow{font-size:10px;font-weight:500;color:#8c7bb5;letter-spacing:0}
.btn{border-radius:10px;font-size:12px;font-weight:650;padding:11px 18px;background:#7460de;box-shadow:0 4px 10px #7460de16;transition:transform .18s,box-shadow .18s,background .18s}
.btn>.icon{width:18px;height:18px}
.btn:hover{filter:none;background:#6652cc;transform:translateY(-2px);box-shadow:0 6px 16px #7460de25}
.btn.secondary{background:#fff;box-shadow:none;color:#686880;border:1px solid #e8e6f1}
.btn.secondary:hover{background:#f5f2ff;border-color:#cfc5f1}
.btn.danger{box-shadow:none}
.btn.small{font-size:10.5px;padding:6px 10px;gap:6px}
.hero{border-radius:21px;background:radial-gradient(ellipse at 13% 35%,#7460de65,transparent 45%),linear-gradient(120deg,#24233f,#343056 60%,#24243e);padding:30px 35px 27px;min-height:248px;display:flex;align-items:center;margin-bottom:22px;box-shadow:0 14px 35px #39315a0a;isolation:isolate}
.hero:after{inset:auto -40px -230px auto;width:430px;height:430px;border:1px solid #ffffff08;z-index:-1}
.hero-copy{position:relative;z-index:2;max-width:56%}
.hero .hero-label{display:flex;gap:8px;align-items:center;color:#c7c4e6;font-size:11px;letter-spacing:0}
.hero .hero-label .icon{width:16px;height:16px;color:#c4f4db}
.hero h2{font-size:35px;font-weight:850;line-height:1.65;margin:10px 0;letter-spacing:-1px}
.hero h2 em{font-style:normal;color:#c1f4d8}
.hero p{font-size:12px;line-height:1.9;color:#b2b1ce;max-width:430px}
.hero-footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:11px}
.hero-footer a{display:flex;align-items:center;gap:7px;color:#dad6f4}
.hero-footer .icon{height:16px;width:16px}
.hero-status{display:inline-flex;align-items:center;gap:7px;background:#c1f4d80c;color:#c1f4d8;border:1px solid #c1f4d828;padding:5px 10px;border-radius:8px}
.hero-art{width:285px;height:220px;flex-shrink:0;position:relative;margin-left:28px;display:grid;place-items:center}
.orbit{position:absolute;top:50%;left:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.orbit-one{width:150px;height:150px;border:1px solid #ffffff16}
.orbit-two{width:230px;height:230px;border:1px dashed #a99ce430}
.orbit-three{width:305px;height:305px;border:1px solid #ffffff09}
.orbit-core{display:flex;flex-direction:column;align-items:center;justify-content:center;width:118px;height:118px;background:linear-gradient(140deg,#9184d040,#47426175);border:1px solid #c0b2f64a;border-radius:30px;box-shadow:0 0 60px #7460de45,inset 0 0 20px #c6b9ff0b;transform:rotate(-7deg)}
.orbit-core>.icon{color:#c1f4d8;width:20px;height:20px;margin-bottom:0;transform:rotate(7deg)}
.orbit-core strong{font-size:36px;line-height:1.5;font-weight:750;color:#f6f5ff;transform:rotate(7deg)}
.orbit-core small{font-size:10px;color:#d8d3ee;transform:rotate(7deg)}
.orbit-node{position:absolute;width:43px;height:43px;border-radius:13px;display:grid;place-items:center;box-shadow:0 8px 20px #0f112230;border:1px solid #ffffff25;animation:float-node 7s ease-in-out infinite}
.orbit-node .icon{width:20px;height:20px}
.node-one{top:7px;left:78px;background:#eeeafd;color:#7261ad;transform:rotate(-12deg)}
.node-two{top:73px;right:10px;background:#6c60a8;color:#e8e0ff;animation-delay:-2s}
.node-three{bottom:0;left:90px;background:#c1f4d8;color:#467d67;animation-delay:-4s}
.node-four{left:4px;top:100px;background:#d9d0f1;color:#6e5d94;animation-delay:-1s}
.orbit-caption{position:absolute;bottom:-24px;font-size:10px;letter-spacing:.2px;color:#a6a0c8}
@keyframes float-node{0%,100%{translate:0 0}50%{translate:0 -7px}}
.stats{gap:15px;margin-bottom:22px}
.stat,.card{border-radius:16px;border:1px solid #eeedf5;box-shadow:0 4px 20px #25203e03}
.stat{padding:19px 20px;min-height:133px;transition:transform .2s,box-shadow .2s}
.stat:hover{transform:translateY(-3px);box-shadow:0 9px 25px #35314d08}
.stat-icon{background:#eef9f2;color:#6c9f81;border-radius:11px;width:37px;height:37px;left:16px;top:18px}
.stat-icon .icon{width:19px;height:19px}
.stat:nth-child(2) .stat-icon{background:#f0ecfb;color:#9481c7}
.stat:nth-child(3) .stat-icon{background:#fff2e4;color:#cf9855}
.stat:nth-child(4) .stat-icon{background:#eaf4fa;color:#6c9abc}
.stat .label{font-size:11px;font-weight:550;color:#76748b}
.stat strong{font-size:30px;line-height:1.9;font-weight:750;color:#34324a;letter-spacing:-.5px}
.stat small{font-size:10px;line-height:1.7;display:block;color:#8a899d}
.green{color:#689c83!important}
.card-head{padding:19px 20px;background:#fff;border-color:#f0eff6}
.card-head h2{font-weight:700;font-size:13px;display:flex;gap:8px;align-items:center}
.card-head h2 .icon{width:18px;height:18px;color:#9788c1}
.text-link{font-size:10px;color:#8f7bba;font-weight:550}
th{font-size:10.5px;background:#faf9fd;color:#9894ab;padding:12px 17px}
td{font-size:11.5px;padding:16px 17px;border-color:#f2f1f7}
tbody tr{transition:background .16s}
tbody tr:hover{background:#fbfaff}
.subject-cell{gap:10px}
.subject-cell strong{font-size:11.5px;font-weight:650;max-width:230px;color:#4e4963}
.subject-cell small{font-size:9px;color:#aaa4b8;margin-top:3px}
.type-icon{background:#f0edfa;color:#9a85c2;border-radius:10px;width:35px;height:35px;flex-shrink:0}
.type-icon .icon{width:18px;height:18px}
.badge{font-size:9.5px;padding:4px 8px;border-radius:7px;font-weight:550}
.badge.converted,.badge.done{background:#edf7f0;color:#78a188}
.badge.pending_supervisor{background:#f0ecfb;color:#9a80c1}
.badge.pending_manager{background:#fff5e8;color:#c39a63}
.badge.in_progress{background:#eef0fb;color:#8a88bb}
.agenda-item{padding:15px 19px;align-items:center;gap:12px}
.date-box{border:0;background:#f4f1fa;border-radius:11px;min-width:44px;padding:7px 3px;line-height:1.5}
.date-box strong{font-size:18px;color:#9783b4;font-weight:750}
.date-box small{font-size:9px;color:#aaa0ba}
.agenda-text strong{font-size:11.5px;font-weight:600;color:#514b65}
.agenda-text small{font-size:9.5px;display:block;margin-top:3px;color:#aaa2b8}
.agenda-dot{background:#b9dfca;width:6px;height:6px;margin-top:0}
.projects-grid{gap:17px}
.project-card{padding:21px;gap:15px;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative}
.project-card:hover{transform:translateY(-3px);border-color:#ded5f3;box-shadow:0 10px 25px #4133640a}
.project-card h3{font-size:14px;font-weight:700;color:#494158;line-height:1.85}
.project-card .type-icon{width:40px;height:40px;border-radius:12px}
.project-card:nth-child(2) .type-icon{background:#ebf6f1;color:#7fab92}
.project-card:nth-child(3) .type-icon{background:#fff2e5;color:#cda176}
.project-meta{font-size:10.5px;color:#9d95aa;gap:6px}
.progress{height:5px;background:#f1eef8}
.progress i{background:linear-gradient(90deg,#aca0e7,#8370c4)}
.project-bottom{padding-top:14px;border-color:#f1eef7}
.activity{padding:12px 20px}
.activity strong{font-size:11px;color:#6a607a}
.activity small{font-size:9px;color:#ada4b7;margin-top:3px}
.empty{color:#a39bad;padding:32px 18px;font-size:12px}
.empty>.icon{width:30px;height:30px;color:#d4cbdc;margin-bottom:4px}
.empty p{margin:7px 0}
.search input{border-radius:11px;font-size:12px;padding:12px 16px;box-shadow:0 3px 12px #25203e03}
.chip{border-radius:8px;font-size:11px;padding:7px 14px;color:#9790a5;transition:.18s}
.chip.active{background:#efebfa;color:#8d76b3;border-color:#e3daf3}
.workflow{border:1px solid #e8e2f4;background:#f1edf9;border-radius:12px;color:#9686ad;font-size:11px;padding:16px 20px}
.workflow span{color:#b9acd0}
.note{background:#f0eef9;border-color:#e8e3f3;color:#998bb0;border-radius:12px;font-size:11px;line-height:2;padding:14px 18px}
.preview{padding:30px;gap:30px}
.preview h2{font-size:23px;font-weight:750;color:#6b597d}
.preview-mark{background:linear-gradient(145deg,#f0e9f9,#e9eff6);color:#a18bb9;border-radius:20px}
.preview-mark .big>.icon{width:80px;height:80px;stroke-width:1}
.preview-mark strong{font-size:18px;color:#9f84b7}
.person-card{padding:24px;border-radius:16px}
.person-card h3{font-weight:700;font-size:14px}
.person-card p{font-size:11px;margin:5px 0}
.person-card .avatar{border-radius:14px;width:46px;height:46px}
.doc-card{padding:23px;border-radius:16px}
.doc-card h3{font-size:14px;font-weight:650}
.doc-card p{font-size:11px}
dialog{border-radius:20px;padding:28px;border:1px solid #ebe5f5;box-shadow:0 30px 100px #15132440;overflow-y:auto}
dialog::backdrop{background:#19182c70;backdrop-filter:blur(8px)}
.dialog-head h2{font-size:19px;font-weight:750}
.dialog-head{padding-bottom:15px;border-bottom:1px solid var(--line)}
.icon-button{width:32px;height:32px;background:#f4f1f9;border-radius:9px;display:inline-grid;place-items:center;flex-shrink:0}
.icon-button .icon{width:17px;height:17px}
.mobile-menu{display:none}
.field{font-size:12px;color:#7c6c88;gap:8px}
.field input,.field textarea,.field select{border-radius:10px;border-color:#e8e2ef;padding:11px 13px;font-size:13px;transition:border-color .18s,box-shadow .18s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#b9a7d1;box-shadow:0 0 0 3px #b9a7d110;outline:none}
.field small{font-size:10px;color:#b0a2ba}
.calendar-tag{display:inline-block;background:#f2edf9;color:#9d83b4!important;padding:2px 7px;font-size:9px!important;border-radius:5px;font-weight:500}
.field .calendar-tag{margin-right:5px}
.jalali-field{position:relative}
.date-trigger{font:inherit;display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:#fff;color:#72647e;border:1px solid #e8e2ef;border-radius:10px;min-height:46px;text-align:right}
.date-trigger>.icon{width:18px;height:18px;color:#b29ac7}
.date-trigger>.icon:last-child{margin-right:auto;width:14px}
.date-trigger:hover{border-color:#c0a8d2;background:#fcfaff}
.date-popover{background:#fff;border:1px solid #e6ddec;border-radius:15px;padding:14px;margin-top:9px;box-shadow:0 15px 40px #8d769726;animation:fade-in .15s;position:relative;z-index:5;min-width:250px}
.picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px;color:#8a6fa0}
.picker-head button{border:0;background:#f7f2fa;color:#ac94be;border-radius:7px;width:28px;height:28px;display:grid;place-items:center}
.picker-head .icon{width:16px;height:16px}
.picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.picker-grid button{border:0;border-radius:8px;background:#fff;color:#97869f;min-height:31px;font-family:var(--font);font-size:12px;font-weight:550;padding:2px}
.picker-grid button:hover{background:#f2eaf8;color:#9878b2}
.picker-grid button.other-month{color:#d6ccd9}
.picker-grid button.selected{background:#a58abf;color:#fff}
.picker-grid button.is-today{box-shadow:inset 0 0 0 1px #b6d6c0}
.picker-grid button:disabled{color:#ddd4e0;background:#faf7fb;cursor:not-allowed}
.picker-weekday{font-size:10px;color:#b5a2bf;line-height:2}
.picker-footer{display:flex;gap:10px;align-items:center;padding-top:12px;margin-top:12px;border-top:1px solid #f1eaf5;font-size:9px;color:#c0adc8}
.picker-footer button{font:inherit;background:none;border:0;color:#a58abf;cursor:pointer;padding:3px 5px;font-size:11px}
.picker-footer span{margin-right:auto}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}
.calendar-sheet{min-width:0}
.calendar-top{padding:22px 22px 14px;margin:0;gap:10px}
.calendar-month{display:flex;align-items:center;gap:10px}
.calendar-month>.icon{color:#ad97c2;width:22px;height:22px}
.calendar-month h2{font-size:21px;letter-spacing:-.5px;color:#756080;margin:0;font-weight:750;white-space:nowrap}
.calendar-month h2>span{color:#b9a4c4;font-weight:450;margin-right:3px}
.calendar-controls{display:flex;align-items:center;gap:5px}
.calendar-nav{padding:6px!important;min-width:30px}
.calendar-nav span>.icon{width:15px;height:15px}
.calendar-options{padding:0 22px 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.segmented{display:flex;gap:3px;background:#f4eff8;padding:3px;border-radius:8px}
.segmented button{background:none;border:0;color:#b09ebe;padding:5px 14px;border-radius:6px;font:inherit;font-size:11px}
.segmented button.active{background:#fff;color:#9e85b1;box-shadow:0 2px 8px #94709f10}
.calendar-options .chip{padding:4px 8px;font-size:10px;border-color:transparent;background:#fff}
.calendar-options .chip.active{background:#f1ecf7;color:#a187b4}
.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.month-weekdays{border-top:1px solid #f0eaf5;border-bottom:1px solid #f0eaf5;background:#fcfaff}
.month-weekdays span{text-align:center;font-size:10px;color:#b8a8c2;padding:12px 0}
.month-weekdays span:last-child{color:#c1a0af}
.month-cell{padding:9px 7px;min-height:112px;border-bottom:1px solid #f3edf6;border-left:1px solid #f3edf6;position:relative;transition:background .15s;cursor:pointer;min-width:0}
.month-cell:hover{background:#fcf8ff}
.month-cell:nth-child(7n){border-left:0}
.month-number{font-weight:650;font-size:13px;color:#ac97b8;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px}
.month-cell.friday .month-number{color:#c4a2b1}
.month-cell.other-month .month-number{color:#ded1e5}
.month-cell.other-month{background:#fdfbfe}
.month-cell.is-today{background:#f7f1fb}
.month-cell.is-today .month-number{color:#fff;background:#aa8bbf;box-shadow:0 2px 8px #aa8bbf26}
.today-label{font-size:8px;color:#b69cc5;float:left;margin-top:6px}
.month-events{display:flex;flex-direction:column;gap:4px;margin-top:7px}
.month-event{background:#edf6f0;color:#9bbba7;border-right:2px solid #b4d6c0;padding:3px 5px;display:block;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px}
.month-event.doc{background:#f1eafb;color:#b9a0cc;border-color:#c7b1d8}
.month-events>small{font-size:8px;color:#baa4c8;padding:2px 4px}
.mobile-event-dot{display:none}
.calendar-legend{padding:16px 20px;display:flex;align-items:center;gap:15px;font-size:10px;color:#b2a0bd;flex-wrap:wrap}
.calendar-legend>span{display:flex;align-items:center;gap:6px}
.calendar-legend i{width:6px;height:6px;background:#b4d6c0;border-radius:50%}
.calendar-legend i.doc{background:#c7b1d8}
.calendar-legend small{font-size:9px;color:#c6b7ce;margin-right:auto}
.calendar-agenda{overflow:hidden}
.calendar-agenda .card-head{padding:20px 17px}
.calendar-agenda .agenda-item{padding:15px 17px;gap:9px}
.calendar-agenda .agenda-text strong{font-size:11px}
.calendar-insight{margin:20px 16px;padding:18px;background:linear-gradient(140deg,#f4eff9,#eef6f1);border-radius:12px}
.calendar-insight>.icon{width:22px;color:#b5a0c5;display:block;margin-bottom:8px}
.calendar-insight strong{font-size:12px;color:#a28bb2}
.calendar-insight p{font-size:10px;color:#bfb0c8;margin:5px 0 0;line-height:2}
.week-view{border:0;border-radius:0;border-top:1px solid var(--line)}
.week-view .cal-cell{padding:12px 8px;min-height:200px}
.week-view .cal-cell.today{background:#f7f1fb}
.week-view .cal-day{font-size:10px;color:#b6a6c1}
.week-view .cal-day strong{font-weight:700;font-size:22px;color:#a28bb7}
.week-view .cal-day small{font-size:9px}
.week-view .cal-event{width:100%;text-align:right;border:0;border-right:2px solid #b4d6c0;font-size:9px;background:#edf6f0;color:#9bbba7}
.week-view .cal-event.doc{border-color:#c7b1d8;background:#f1eafb;color:#b9a0cc}
.day-detail{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.day-detail>div{flex:1;min-width:0}
.day-detail strong{font-size:13px;display:block;font-weight:600;color:#8b7798}
.day-detail small{font-size:10px;color:#beacc7;display:block;margin-top:4px}
.poster{border-radius:16px;background:linear-gradient(140deg,#312642,#664e7e)}
.poster h3{font-weight:800}
.poster.education{background:linear-gradient(140deg,#344963,#6d8eaa)}
.poster.warning{background:linear-gradient(140deg,#624238,#ad7d60)}
.toast{background:#5f4c74;border-radius:12px;font-size:12px;box-shadow:0 8px 30px #8a6b9f25}
footer{color:#b6a8c0;font-size:10px;padding-top:15px}
#app{animation:fade-in .25s}
@keyframes fade-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){main{padding:35px 45px}.hero{padding:34px 40px}.hero h2{font-size:39px}.hero-art{margin-left:45px}}
@media(max-width:1200px){.header-date{display:none}.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-agenda{display:none}.hero-art{margin-left:0;width:255px}.hero h2{font-size:31px}.hero-copy{max-width:60%}}
@media(max-width:1150px){.sidebar{width:215px}.main-shell{margin-right:215px}.hero{padding:27px}.header-tools{gap:10px}.identity-label{font-size:10px}.identity-label select{max-width:185px}.layout{grid-template-columns:minmax(0,1fr)}.card-head h2{font-size:14px}.subject-cell strong{max-width:300px}}
@media(max-width:760px){
  .sidebar{width:245px;padding:25px 19px;transform:translateX(100%);box-shadow:-20px 0 60px #18152f30}
  .sidebar.open{transform:translateX(0)}.main-shell{margin-right:0}
  header{height:72px;padding:0 17px;background:#ffffffdd}.mobile-menu{display:inline-grid}
  .header-date,.demo-badge{display:none}.identity-label{font-size:0}.identity-label select{font-size:11px;max-width:210px;padding:7px}
  main{padding:23px 17px}.page-head h1{font-size:24px}.page-head p{font-size:11px;max-width:240px;line-height:1.8}.page-head>.btn{font-size:11px;padding:9px 12px;gap:5px}
  .eyebrow{font-size:9px}.hero{padding:24px;display:flex;min-height:264px;border-radius:18px;overflow:hidden}
  .hero-copy{max-width:100%}.hero h2{font-size:30px;line-height:1.65;max-width:250px;letter-spacing:-.7px}
  .hero p{font-size:11px;max-width:240px;position:relative;z-index:2}.hero .hero-label{font-size:10px}
  .hero-art{position:absolute;left:-98px;bottom:-55px;opacity:.23;transform:scale(.8);pointer-events:none}
  .hero-footer{gap:12px;font-size:10px;position:relative;z-index:2;margin-top:18px}.hero-footer a{font-size:10px}
  .hero-status{padding:5px 8px}.hero-art .orbit-caption{display:none}
  .stats{gap:11px;margin-bottom:20px}.stat{padding:16px 14px;min-height:130px;border-radius:14px}.stat strong{font-size:28px;line-height:1.9;margin-top:5px}
  .stat .label{font-size:10px;max-width:calc(100% - 26px);display:block;line-height:1.7}.stat small{font-size:9px;line-height:1.6}
  .stat-icon{width:28px;height:28px;top:14px;left:11px;border-radius:9px}.stat-icon .icon{width:16px;height:16px}
  .card-head{padding:17px}.card-head h2{font-size:13px}.layout{gap:18px}.subject-cell strong{font-size:11.5px;max-width:220px}
  .project-card{padding:21px}.project-card h3{font-size:14px}.project-meta{font-size:11px}.preview{padding:23px;gap:25px}.preview h2{font-size:22px}
  .calendar-top{padding:18px 13px 14px;flex-wrap:wrap;gap:12px}.calendar-month{gap:7px}.calendar-month h2{font-size:21px}.calendar-month>.icon{width:19px}.calendar-month .calendar-tag{font-size:8px!important}
  .calendar-options{padding:0 13px 17px;gap:10px}.segmented button{padding:5px 12px;font-size:10px}.calendar-options .chip{font-size:9px;padding:5px 7px}.calendar-options .chips{width:auto;overflow:visible;padding:0;gap:0}
  .month-weekdays span{font-size:8px;padding:10px 0}.month-cell{padding:6px 2px;min-height:69px;text-align:center}.month-number{font-size:12px;width:24px;height:24px;border-radius:7px}.today-label{display:none}
  .month-events{display:none}.mobile-event-dot{display:block;background:#eee6f5;color:#b298c6;font-size:8px;line-height:16px;border-radius:50%;width:16px;height:16px;margin:7px auto 0}
  .calendar-legend{padding:14px 12px;gap:12px;font-size:9px}.calendar-legend small{margin:0;flex-basis:100%;font-size:9px}
  .week-view{grid-template-columns:repeat(2,minmax(0,1fr))}.week-view .cal-cell{min-height:165px;padding:13px}.week-view .cal-event{font-size:10px}
  dialog{padding:22px 18px;border-radius:18px;width:calc(100% - 24px)}.dialog-head h2{font-size:17px}.field{font-size:12px}.form-grid{gap:17px}
  .date-popover{min-width:0;padding:15px}.picker-grid{gap:6px}.picker-grid button{min-height:35px;font-size:13px}
  .day-detail{gap:9px}.day-detail strong{font-size:12px}.day-detail small{font-size:9px}.day-detail>.btn{font-size:9px;padding:6px 8px}
  .note{font-size:10.5px;padding:13px 16px}.person-card h3{font-size:14px}.person-card{padding:21px}.doc-card p{font-size:11px}.doc-actions{font-size:12px}
  footer{padding:12px 17px;font-size:9px}.toolbar .chips{gap:6px}.toolbar .chip{padding:6px 11px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep pastel surfaces while giving text enough contrast to read comfortably. */
.subject-cell small,.agenda-text small,.project-meta,.activity small,.stat small,.calendar-legend,.calendar-legend small,.help{color:#817689}
.subject-cell strong,.agenda-text strong,.project-card h3,.activity strong{color:#4f445c}
.badge.converted,.badge.done{color:#4b7d60}.badge.pending_supervisor{color:#795698}.badge.pending_manager{color:#956d38}.badge.in_progress{color:#676195}
.text-link{color:#79599b}.note{color:#766084}.workflow{color:#796187}.chip.active{color:#795894}
.calendar-tag{color:#806091!important}.calendar-month h2{color:#70517f}.calendar-month h2>span{color:#8c739b}
.calendar-insight strong{color:#79608b}.calendar-insight p{color:#887794}.calendar-insight>.icon{color:#9777b0}
.month-weekdays span,.cal-day{color:#8d759d}.month-weekdays span:last-child{color:#a57087}
.month-number{color:#7b618c}.month-cell.friday .month-number{color:#a3708b}.month-cell.other-month .month-number{color:#b5a5bf}
.month-event,.week-view .cal-event{color:#578769}.month-event.doc,.week-view .cal-event.doc{color:#8e62a8}.month-events>small{color:#8b729b}
.mobile-event-dot{color:#89639f}.today-label{color:#8b659c}
.picker-head{color:#806091}.picker-grid button{color:#796186}.picker-weekday{color:#9d85ab}.picker-grid button.other-month{color:#bcaac6}
.picker-grid button.selected{color:#fff;background:#8b6da8}.picker-grid button:disabled{color:#c6b9ce}
.picker-footer,.picker-footer button{color:#8d719f}.date-trigger{color:#776084}
.empty{color:#94849f}.date-box strong{color:#957aad}.date-box small{color:#a08caf}
.preview h2{color:#7f6293}.preview-mark strong{color:#8d6aa6}.preview-mark p{color:#9c81ad}
/* Member administration and project-based activity reports. */
.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.access-banner{display:flex;gap:16px;padding:22px;border-radius:18px;background:#eeebfc;margin-bottom:24px;color:#40366d}.access-banner>.icon{flex-shrink:0;width:30px;height:30px}.access-banner p{margin:8px 0 0;font-size:13px;line-height:1.9}.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.summary-card{padding:20px;display:flex;gap:12px;align-items:center}.summary-card p{font-size:12px;color:var(--muted);margin:8px 0;line-height:1.8}.log-note{white-space:normal;min-width:200px;max-width:360px;line-height:1.9}.field [type=checkbox]{width:auto;height:auto;display:inline;margin-left:8px}.people-grid .person-card{align-items:flex-start}.field [type=color]{height:44px;padding:5px}.form-grid [hidden]{display:none}.detail-meta{flex-wrap:wrap}@media(max-width:900px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.report-filters,.summary-grid{grid-template-columns:1fr}.person-card .row-actions{gap:6px}.access-banner{padding:16px}.doc-actions{flex-wrap:wrap}}
@media(max-width:600px){.page-head{flex-direction:column;align-items:stretch;gap:16px}.page-head>.row-actions{margin-top:0}.page-head>.btn{align-self:flex-start}}
/* Weekly worklog workspace */
.timesheet-tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.timesheet-tabs>span{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:12px;color:#756887}.timesheet-tabs .icon{width:18px}.timesheet-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.timesheet-summary>div{background:white;border:1px solid #eeebf3;border-radius:18px;padding:20px 24px}.timesheet-summary small{color:#82758f;font-size:12px}.timesheet-summary strong{display:block;font-size:30px;color:#483556;margin-top:8px}.timesheet-summary em{font-size:13px;font-style:normal;color:#93869b}.timesheet-workspace{overflow:hidden}.timesheet-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #eeebf3;flex-wrap:wrap}.week-switch{display:flex;align-items:center;gap:10px}.week-switch strong{display:block;font-size:14px;color:#60476f}.week-switch small{display:block;color:#a18aa9;font-size:10px;margin-top:6px}.timesheet-top .row-actions{margin:0}.timesheet-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:18px 24px;background:#fcfbfe}.timesheet-filters .field{flex:1;min-width:140px;margin:0}.timesheet-filters .field input,.timesheet-filters select,.timesheet-filters .date-trigger{min-height:42px}.timesheet-table{min-width:900px;width:100%;table-layout:fixed}.timesheet-table th:first-child,.timesheet-table td:first-child{width:220px;text-align:right}.timesheet-table td,.timesheet-table th{text-align:center;padding:18px 8px}.timesheet-table th span,.timesheet-table th strong{display:block}.timesheet-table th span{font-size:11px;font-weight:400;color:#9b86a5}.timesheet-table th strong{font-size:12px;margin-top:7px}.timesheet-table td:first-child small{display:block;white-space:normal;font-size:11px;line-height:1.7;color:#9c8ba4;margin-top:8px}.timesheet-table td:first-child strong{white-space:normal;line-height:1.8;font-size:12px;color:#654b74}.timesheet-cell{width:100%;justify-content:center;min-height:42px;border-radius:10px;padding:8px 3px;font-size:12px;background:#f0eaf8;color:#865ca1;border:1px solid transparent}.timesheet-cell.blank{background:transparent;color:#b6a3c1;border:1px dashed #e5dced}.timesheet-cell.blank:hover{background:#f1eafa;border-color:#ac8dc0}.timesheet-table .current-day{background:#faf7fd}.timesheet-table tfoot{background:#f4eef9;color:#856193;font-weight:700}.timesheet-foot{padding:18px 24px;font-size:11px;color:#9883a3;line-height:2;display:flex;gap:8px;border-top:1px solid #eee6f4}.timesheet-foot .icon{width:18px;flex-shrink:0}.day-log-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:24px}.day-log{padding:18px 8px;border:1px solid #ece5f1;background:#fff;border-radius:15px;cursor:pointer;color:#927ba0;font-family:inherit}.day-log small,.day-log strong,.day-log span{display:block}.day-log strong{font-size:14px;margin:10px 0}.day-log span{font-size:11px}.day-log.selected{background:#f2eafa;border-color:#b49ac7;color:#79588f}.log-form-intro{padding:16px 18px;display:flex;gap:12px;background:#f5f0fa;border-radius:14px;margin:8px 0 24px;color:#856799}.log-form-intro .icon{flex-shrink:0}.log-form-intro strong{font-size:13px}.log-form-intro p{margin:6px 0 0;font-size:11px;line-height:1.8}.duration-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.duration-presets>span{font-size:11px;color:#a28eac;margin-left:6px}.work-description{min-height:160px!important;line-height:2!important}.report-day-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 24px}.report-day-heading p{font-size:12px;color:#9f86aa;margin:6px 0}.report-day-heading .btn{margin-right:auto}.worklog-detail{padding:22px;border:1px solid #ece4f1;border-radius:16px;margin:14px 0}.worklog-detail>div:first-child{display:flex;align-items:center;gap:12px}.worklog-detail strong{color:#755287;line-height:1.8;font-size:13px}.worklog-detail>small{display:block;color:#a38bad;margin-top:12px}.worklog-detail>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:2.1;margin-top:18px}.log-note-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;margin-bottom:10px}.timesheet-top .btn .icon{width:18px}@media(max-width:900px){.timesheet-summary{gap:12px}.timesheet-summary>div{padding:16px}.timesheet-tabs>span{width:100%;margin-top:6px}.day-log-strip{gap:6px}}@media(max-width:600px){.timesheet-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-top{padding:16px;gap:18px}.week-switch{flex-wrap:wrap;gap:8px}.week-switch>div{flex:1}.timesheet-filters{padding:16px;gap:12px}.timesheet-filters .field{min-width:calc(50% - 12px)}.day-log-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.day-log-strip .day-log:last-child{grid-column:span 2}.timesheet-foot{padding:16px}.timesheet-table th:first-child,.timesheet-table td:first-child{width:180px}.report-day-heading .btn{margin-right:0}.worklog-detail{padding:16px}}

/* Quiet, readable action feedback across dialogs and timesheets. */
.btn.danger{background:#fff1f0;color:#a64348;border:1px solid #f1d7d9}
.btn.danger:hover,.btn.danger:focus-visible{background:#fbe4e4;color:#8c303b;border-color:#e7b8bd;box-shadow:none;transform:none}
.btn.timesheet-cell:hover,.btn.timesheet-cell:focus-visible{background:#e8dff1;color:#624271;border-color:#c8b7d6;box-shadow:none;transform:none}
.btn.timesheet-cell.blank:hover,.btn.timesheet-cell.blank:focus-visible{background:#f3edf7;color:#79578b;border-color:#c8b7d6}
.btn:focus-visible,.icon-button:focus-visible{outline:2px solid #b49ac7;outline-offset:3px}
.btn:disabled{transform:none;box-shadow:none;cursor:wait}

.badge.archived{background:#f1f0f5;color:#746d83}.badge.ended{background:#eaf4ef;color:#527d6a}.doc-card h3 .badge{margin-right:8px;font-size:10px;vertical-align:middle}

.setup-intro{display:flex;gap:12px;padding:18px;background:#edf6f1;border-radius:14px;color:#527b65}.setup-intro>.icon{flex-shrink:0}.setup-intro strong{font-size:14px}.setup-intro p{font-size:12px;line-height:2;margin:6px 0 0}.setup-status{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0;color:#82728e;font-size:11px}.setup-status span{padding:8px 12px;border-radius:9px;background:#f7f4fa}.setup-section{border:1px solid #eee8f3;border-radius:14px;padding:18px;margin-top:18px}.setup-section h3{font-size:14px;color:#684e78;margin:0 0 18px}.setup-section .card-head{padding:0;border:0}.setup-section .card-head h3{margin:0}.setup-section .table-scroll{margin-top:18px}.setup-footer{margin-top:24px}@media(max-width:600px){.setup-section{padding:14px}.setup-footer{flex-direction:column}.setup-footer .btn{width:100%;justify-content:center}.setup-status{gap:6px}.setup-intro{padding:14px}}

/* Role identity and readable secondary information. */
:root{--muted:#6d6377}
.role-avatar{border:1px solid transparent;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px}
.role-avatar .icon{width:24px;height:24px;stroke-width:1.9}.role-avatar.small{width:30px;height:30px;border-radius:10px}.role-avatar.small .icon{width:18px;height:18px}
.role-gold{background:#fbf1d9;color:#8b6218;border-color:#eddaa8}.role-violet{background:#eee9fa;color:#6851a5;border-color:#d8ccef}.role-green{background:#e6f3ed;color:#28745f;border-color:#c2dfd1}.role-neutral{background:#edf0f4;color:#596477;border-color:#d7dde5}
.role-preview>div{display:flex;align-items:center;gap:12px;margin:4px 0}.role-preview strong{font-size:14px;color:#53455e}
main .subject-cell small,main .agenda-text small,main .project-meta,main .activity small,main .stat small,main .help,dialog .help,dialog .field small,dialog .member-picks small,main .person-card p,main .person-card small,main .doc-card p{font-size:12px;line-height:1.9;color:#6d6377}
main .muted,dialog .muted{color:#6d6377}main .empty,dialog .empty{font-size:13px;color:#71667b}main .note{font-size:13px;line-height:2;color:#65546f}
main th,dialog th{font-size:12px;color:#695d74}main td,dialog td{font-size:13px}main .badge,dialog .badge{font-size:11.5px}dialog .field{font-size:13px}dialog input,dialog select,dialog textarea{font-size:14px}
main .page-head p{font-size:13px;color:#6d6377;line-height:1.9}main .workflow{font-size:12px;line-height:1.9;flex-wrap:wrap;color:#685772}
.timesheet-summary small,.week-switch small,.timesheet-table th span,.timesheet-table td:first-child small,.timesheet-foot,.day-log small,.day-log span,.duration-presets>span,.worklog-detail>small,.report-day-heading p{font-size:12px;color:#6d6377}
.timesheet-table th strong,.timesheet-table td:first-child strong{font-size:13px}.log-form-intro p{font-size:12px;color:#6d6377}.timesheet-summary em{color:#6d6377}
.month-weekdays span,.cal-day,.month-events>small,.calendar-insight p,.picker-weekday,.picker-footer,.date-box small{font-size:12px;color:#72627f}.month-event,.week-view .cal-event{font-size:12px}.picker-grid button{font-size:13px}.date-trigger{font-size:13px}.doc-actions small,.setup-status{font-size:12px;color:#6d6377}
.sidebar .workspace small,.sidebar-foot small,.brand small{color:#b8bbd0}.header-date,.identity-label{font-size:12px;color:#645d71}.identity-label select{font-size:12px}.preview-mark p{font-size:12px;color:#72627f}
main .stat .label,main .activity strong,main .calendar-agenda .agenda-text strong{font-size:12px;color:#65566f}
main .text-link{font-size:12px;color:#745c97}main .eyebrow{font-size:11px;color:#78628f}
main .month-number{color:#786187}main .month-cell.friday .month-number,main .month-weekdays span:last-child{color:#8d586d}main .month-cell.other-month .month-number{color:#9a8ba3}main .month-cell.is-today .month-number{color:#fff;background:#85619d}
main .month-event{color:#3f7658}main .month-event.doc{color:#795094}main .calendar-legend,main .calendar-legend small,main .today-label{font-size:12px;color:#72627f}main .calendar-insight strong{color:#76578b}
.sidebar .workspace small,.sidebar-foot small,.brand small,.sidebar .nav-label{font-size:12px}.sidebar .nav-label{color:#b8bbd0}
.calendar-tag{font-size:11px!important;color:#795591!important}main .green{color:#3f7658!important}
@media(max-width:600px){main .page-head p{font-size:12px;max-width:none}.timesheet-table td:first-child small{font-size:12px}.doc-card h3{line-height:1.9}.identity-label{font-size:0}}

/* Warehouse workspace: same typography and calm role colors as the portal. */
.stock-access{display:flex;gap:12px;padding:18px 22px;background:#eef5f1;border:1px solid #dae8df;border-radius:16px;color:#406d59;margin-bottom:22px}.stock-access>.icon{flex-shrink:0}.stock-access strong{font-size:14px}.stock-access p{font-size:12px;line-height:1.9;margin:6px 0 0;color:#5b7064}
.stock-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stock-summary .card{padding:20px}.stock-summary small{font-size:12px;color:#6d6377}.stock-summary strong{display:block;font-size:28px;margin-top:10px;color:#53455e}.stock-warning{color:#aa5b35!important}.stock-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:22px}.stock-toolbar form{display:flex;gap:10px;align-items:flex-end}.stock-toolbar .field{margin:0;font-size:12px}.stock-toolbar .row-actions{margin:0}.stock-tabs{flex-wrap:wrap}.stock-content{overflow:hidden}.stock-meta{display:block;font-size:12px;line-height:1.9;color:#6d6377;margin-top:4px}.stock-pending{background:#fbf1db;color:#88631f}.stock-approved{background:#e5f3eb;color:#367559}.stock-rejected{background:#fae8e8;color:#a95151}.stock-cancelled{background:#edf0f4;color:#636b78}.stock-item-heading{display:flex;gap:14px;align-items:center;padding:18px;background:#f3eff8;border-radius:14px}.stock-item-heading>.icon{width:32px;height:32px;color:#795f91}.stock-item-heading p,.stock-details p{font-size:13px;color:#6d6377;line-height:2}.stock-details{margin-top:20px;overflow-wrap:anywhere}.stock-content td{white-space:normal;min-width:110px}.stock-content td:first-child{min-width:200px}
@media(max-width:900px){.stock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.stock-summary{gap:10px}.stock-summary .card{padding:16px}.stock-toolbar form{width:100%}.stock-toolbar .field{flex:1;min-width:0}.stock-access{padding:16px}.stock-tabs .chip{font-size:12px;padding:8px 10px}}
.stock-source-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:2;color:#65546f;padding:16px;background:#f8f6fb;border:1px solid #ece6f2;border-radius:12px}

/* Warehouse navigation uses tabs, not primary action buttons. */
.stock-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:6px;background:#f0edf6;border:1px solid #e5dfed;border-radius:14px;width:fit-content;max-width:100%}.stock-tab{font:inherit;font-size:12px;font-weight:550;padding:10px 16px;min-height:42px;white-space:nowrap;background:transparent;color:#6a5e78;border:1px solid transparent;border-radius:9px;box-shadow:none;transition:background .15s,color .15s}.stock-tab:hover{background:#e8e1f2;color:#58446d}.stock-tab.active,.stock-tab.active:hover{background:#fff;color:#654786;border-color:#ded3eb;box-shadow:0 2px 6px #4732580a}.stock-tab:focus-visible{outline:2px solid #9479b3;outline-offset:2px}
.stock-policy{font-size:12px;color:#6d6377;line-height:1.9;margin:0 0 18px}.stock-feedback{display:flex;align-items:center;gap:10px;background:#e9f5ee;color:#326b4c;border:1px solid #cbe5d5;padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:13px;line-height:1.9}.stock-feedback .icon{flex-shrink:0;width:20px;height:20px}.stock-quantity{display:flex;align-items:center;border:1px solid #e8e2ef;background:#fff;border-radius:10px;overflow:hidden}.stock-quantity input{border:0!important;min-width:0;flex:1;box-shadow:none!important}.stock-quantity span{padding:0 14px;font-size:12px;color:#6a5e78;border-right:1px solid #e8e2ef;white-space:nowrap}.stock-options{margin-top:20px;border-top:1px solid #eee7f3;padding-top:14px}.stock-options summary{cursor:pointer;color:#6f5a82;font-size:13px;line-height:2;padding:6px 0}.stock-options[open] .form-grid{margin-top:16px}.stock-content .card-head .row-actions{margin:0}.stock-content table{min-width:740px}.stock-content td:first-child{max-width:300px}.stock-content .stock-meta{overflow-wrap:anywhere}.stock-details p{margin:8px 0}.stock-toolbar .btn{white-space:nowrap}
@media(max-width:600px){.stock-tabs{width:100%;gap:4px;padding:5px}.stock-tab{flex:1 1 calc(50% - 4px);padding:9px 8px;font-size:12px}.stock-toolbar>.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.stock-toolbar>.row-actions .btn{justify-content:center}.stock-content .card-head{align-items:flex-start;gap:12px;flex-wrap:wrap}}

/* Personal and team task workspace */
.task-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.task-summary .card{padding:20px;display:flex;flex-direction:column;gap:8px}.task-summary strong{font-size:28px;color:#483962}.task-summary span,.task-parent{font-size:13px;color:#556174}.task-toolbar{padding:20px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;border-bottom:1px solid #eae7f0}.task-filters{display:flex;gap:6px;flex-wrap:wrap}.task-filters button{font:inherit;font-size:13px;cursor:pointer;border:1px solid transparent;border-radius:9px;background:transparent;color:#475569;padding:8px 12px}.task-filters button:hover{background:#f5f2fa}.task-filters button[aria-pressed="true"]{background:#eee8fa;color:#513a80;border-color:#ddd1f1}.task-parent{display:inline-block;margin-inline-start:8px}.badge.pending{background:#fff3d9;color:#825d18}.task-description{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:650px){.task-summary{grid-template-columns:repeat(2,1fr);gap:10px}.task-toolbar{padding:14px}.task-summary .card{padding:16px}}

.task-deadline{display:inline-flex;flex-direction:column;gap:3px;padding:5px 9px;border-radius:9px;white-space:nowrap}.task-deadline small{font-size:12px}.task-deadline.soon{background:#fff4cc;color:#785500;border:1px solid #eedb91}.task-deadline.late{background:#fdeaea;color:#a12632;border:1px solid #f3c7ce}.performance-filters{padding:20px}.performance-progress{display:inline-block;vertical-align:middle;width:65px;height:7px;background:#ece8f4;border-radius:5px;overflow:hidden;margin-inline-end:8px}.performance-progress i{display:block;height:100%;background:#5a9f89}.team-default-row{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eeeaf3}@media(max-width:600px){.team-default-row{align-items:flex-start;flex-direction:column}.performance-filters{padding:14px}}

/* Desktop dialogs: room for forms, wider project tables, focused confirmations. */
@media (min-width:900px){
  #modal{width:calc(100vw - 96px);max-width:960px;max-height:calc(100dvh - 80px);padding:30px 36px;border-radius:24px;scrollbar-gutter:stable;overscroll-behavior:contain}
  #modal:has(table,.setup-section){max-width:1180px}
  #modal:has([data-form="delete"],[data-form="work-team-delete"],[data-form="doc-lifecycle"]){max-width:600px}
  #modal-content{min-width:0}
  #modal .dialog-head{gap:24px;margin-bottom:26px;padding-bottom:20px;align-items:flex-start}
  #modal .dialog-head h2{font-size:22px;line-height:1.7;max-width:calc(100% - 60px);overflow-wrap:anywhere}
  #modal .dialog-head .icon-button{width:38px;height:38px;border-radius:12px;flex-shrink:0}
  #modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;align-items:start}
  #modal .field{min-width:0;gap:9px;line-height:1.8}
  #modal .field input:not([type="checkbox"]),#modal .field select,#modal .date-trigger{min-height:46px}
  #modal .field textarea{min-height:132px;line-height:2}
  #modal .form-actions{gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);flex-wrap:wrap}
  #modal .form-actions .btn{min-height:43px;padding-inline:22px}
  #modal .detail-meta{gap:12px 20px;align-items:center;line-height:2}
  #modal .detail-copy{font-size:14px;line-height:2.1;margin-block:24px}
  #modal .member-picks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  #modal .member-picks label{padding:13px 14px;font-size:13px;line-height:1.8;min-width:0;overflow-wrap:anywhere}
  #modal .table-scroll{max-width:100%;border:1px solid var(--line);border-radius:14px;margin-block:14px}
  #modal table{min-width:680px}
  #modal th,#modal td{padding:14px 18px;vertical-align:middle}
  #modal .section-gap{margin-top:26px}
}

/* Keep the dialog close/back control accessible while its content scrolls. */
#modal .dialog-head{position:sticky;top:-28px;z-index:25;background:#fff;box-shadow:0 8px 16px -16px #40334f;padding-top:8px}
@media(min-width:900px){#modal .dialog-head{top:-30px}}
@media(max-width:600px){#modal .dialog-head{top:-22px}}

.task-force-tag{background:#fff0e3;color:#93421d;border:1px solid #f0c8ad;margin-inline:7px;font-weight:700}.force-settings{border:1px solid #edcfba;background:#fffaf6;border-radius:14px;padding:18px}.force-switch{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#824728}.force-switch span{font-size:12px;color:#785e50}.force-fields{margin-top:18px}.force-fields[hidden]{display:none}.force-fields>.field{max-width:360px}.force-history-entry{padding:18px 20px;border-top:1px solid var(--line)}.force-history-entry summary{cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.force-history-entry summary>span:last-child{font-size:12px;color:#746575}.force-project-impact{display:flex;gap:14px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.force-intro p{font-size:13px;color:#695973;line-height:2}.force-history .table-scroll{max-width:100%}

.holiday-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:14px;margin-bottom:18px}.holiday-row>.btn{margin-bottom:4px}.force-fields>.row-actions{margin-bottom:12px}@media(max-width:600px){.holiday-row{grid-template-columns:minmax(0,1fr)}.holiday-row>.btn{justify-self:start}}

/* Grouped organizational navigation; every group respects the current role. */
.sidebar{min-height:0}
#navigation{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d6d0e3 transparent;flex:1;padding-left:4px}
#navigation .nav-group{margin:0 0 14px;padding:0;border:0}
#navigation .nav-group-title{font-size:11px;font-weight:600;line-height:1.8;letter-spacing:0;color:#a49bb9;margin:12px 14px 7px}
#navigation a{padding:9px 12px;margin-bottom:3px;gap:10px}
#navigation .nav-item-label{flex:1;min-width:0}
#navigation a[aria-current="page"]{font-weight:700}
.sidebar>.nav-label{display:none}
.sidebar-foot{flex-shrink:0}
@media(max-height:850px) and (min-width:901px){.sidebar{padding-top:20px;padding-bottom:14px}.sidebar .workspace{margin-block:18px}.sidebar-foot{padding-top:12px}#navigation .nav-group{margin-bottom:9px}#navigation .nav-group-title{margin-top:8px}}
#navigation details.nav-group{margin-bottom:8px;border-bottom:1px solid #ffffff09;padding-bottom:7px}
#navigation summary.nav-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;font-size:12px;color:#b8b0c9;padding:10px 12px;margin:0;border-radius:10px;user-select:none}
#navigation summary.nav-group-title::-webkit-details-marker{display:none}
#navigation summary.nav-group-title:hover{background:#ffffff07;color:#eee9f7}
#navigation summary.nav-group-title>.icon{width:15px;height:15px;transition:transform .15s}
#navigation details[open]>summary.nav-group-title>.icon{transform:rotate(180deg)}
#navigation details.has-current>summary.nav-group-title{color:#d7caed;font-weight:700}
#navigation .nav-group-links{padding:3px 4px 1px}
#navigation .nav-group-links a{padding-right:17px}
#navigation summary:focus-visible{outline:2px solid #b9a6ea;outline-offset:-2px}
#navigation .nav-create-list{border-top:1px solid #ffffff12;margin:8px 9px 2px;padding-top:7px}
#navigation .nav-create-action{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:9px;padding:9px 8px;background:transparent;color:#b9aecb;font:inherit;font-size:12px;text-align:right;cursor:pointer}
#navigation .nav-create-action .nav-icon{display:grid;place-items:center;width:20px}
#navigation .nav-create-action .icon{width:16px;height:16px}
#navigation .nav-create-action:hover{background:#ffffff09;color:#f0e8fb}
#navigation .nav-create-action:focus-visible{outline:2px solid #b9a6ea;outline-offset:-2px}
/* Clear location and action indicators without changing the quiet sidebar palette. */
#navigation a[aria-current="page"]{background:#51446f;color:#fff;border:1px solid #8e78ba70;box-shadow:inset -4px 0 0 #cfb6ff,0 3px 12px #0d0a1720}
#navigation a[aria-current="page"] .nav-icon{color:#e1cfff}
#navigation a[aria-current="page"] .nav-count{background:#ffffff20;color:#fff}
#navigation details.has-current>summary.nav-group-title{background:#ffffff08;color:#e8dcfa}
#navigation .nav-create-action.is-current{background:#ffffff10;color:#f2e8ff;box-shadow:inset -3px 0 0 #c5a9f4;font-weight:700}

/* Channel-by-day editorial calendar. Scroll stays inside the calendar surface. */
.content-calendar{overflow:hidden;min-width:0}
.content-calendar-toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--line)}
.content-month-pickers{display:flex;gap:14px;align-items:center}.content-month-pickers .field{min-width:125px}
.content-grid-scroll{max-width:100%;max-height:65vh;overflow:auto;position:relative;isolation:isolate;scrollbar-color:#c9bddc #f5f1fa;scrollbar-width:thin}
.content-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:calc(160px + var(--content-days)*155px);min-width:100%;font-size:12px}
.content-grid th,.content-grid td{border-inline-end:1px solid #e9e4ef;border-bottom:1px solid #e9e4ef;padding:10px;vertical-align:top;white-space:normal}
.content-grid thead{position:sticky;top:0;z-index:3}.content-grid thead th{text-align:center;background:#f3eef9;color:#605071}
.content-grid .content-week-row th{background:#5c4b76;color:#fff;font-size:12px;font-weight:600;padding:9px}
.content-grid th span,.content-grid th strong{display:block}.content-grid thead th strong{font-size:17px;margin-top:3px}
.content-grid .content-channel-cell{width:160px;position:sticky;right:0;z-index:2;background:#fff;box-shadow:-3px 0 6px #43305009;vertical-align:middle}
.content-grid thead .content-channel-cell{z-index:5;background:#5c4b76}.content-channel-cell small{display:block;margin-top:6px;color:#7b6d88;font-size:11px}
.content-grid td{height:145px;background:#fff}.content-grid .content-friday{background:#fff5ee}.content-grid thead .content-friday{background:#fae6d7;color:#865b3d}
.content-grid .content-today{box-shadow:inset 0 0 0 2px #b6a2d7}.content-cell{display:flex;flex-direction:column;gap:8px;min-height:125px}
.content-card{display:flex;flex-direction:column;gap:7px;width:100%;border:1px solid #e7dff1;border-radius:9px;padding:10px;background:#faf8fd;text-align:right;color:#4c3c5d;cursor:pointer;font:inherit;line-height:1.8;overflow-wrap:anywhere}
.content-card strong{font-size:13px;font-weight:600}.content-card>span{display:flex;gap:5px;align-items:center;font-size:11px;color:#796789}.content-card>span .icon{width:13px;height:13px;flex-shrink:0}
.content-card:hover{border-color:#b6a1d1;background:#f1ebf8}.content-card-ready,.content-card-published{background:#eef8f1;border-color:#cbe6d1}.content-card-ready>span,.content-card-published>span{color:#3b7a4d}
.content-card-production{background:#fff9e9;border-color:#eaddb5}.content-card-production>span{color:#8d7029}
.content-add{width:100%;min-height:30px;display:grid;place-items:center;margin-top:auto;border:1px dashed #e3dbea;border-radius:8px;background:transparent;color:#ae9eba;cursor:pointer}.content-add .icon{width:15px;height:15px}.content-add:hover{background:#f4effa;color:#6e568b;border-color:#b6a1cf}
.content-ready,.content-published{background:#e5f4e9;color:#367448}.content-production{background:#fff3cf;color:#87652b}.content-planned{background:#eee8f6;color:#71578b}
.content-empty-action{padding:0 22px 24px}.content-list{padding:8px 22px}.content-list-row{padding:14px 0;border-bottom:1px solid var(--line)}.content-list-row small{display:block;margin-bottom:9px;color:#75667e}
@media(max-width:650px){.content-calendar-toolbar{padding:14px;gap:13px}.content-month-pickers{width:100%}.content-month-pickers .field{flex:1;min-width:0}.content-grid .content-channel-cell{width:125px}.content-grid{width:calc(125px + var(--content-days)*145px)}.content-list{padding-inline:14px}}

@media(max-width:650px){.content-add{min-height:44px}.content-card{min-height:48px}}

/* Keep form feedback in the native dialog top layer, below its sticky header. */
#modal .modal-feedback{padding:13px 16px;margin:0 0 22px;border:1px solid #b9dfd1;border-radius:12px;background:#edf8f2;color:#215940;font-size:14px;line-height:1.9;overflow-wrap:anywhere}
#modal .modal-feedback.error{background:#fff1f0;border-color:#edb9b5;color:#922f32}
#modal .modal-feedback[hidden]{display:none}

/* Gantt: one RTL timeline, with an independently scrollable, sticky task tree. */
.gantt-workspace{--gantt-label:300px}.gantt-filters{padding:22px}.gantt-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gantt-filter-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;color:#625b70;font-size:12px}.gantt-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:20px 0}.gantt-stats>.card{padding:18px 16px;display:flex;flex-direction:column;gap:6px}.gantt-stats span{font-size:12px;color:#51495d}.gantt-stats strong{font-size:24px;line-height:1.6;color:#44345c}.gantt-stats small{font-size:11px;color:#70677c}.gantt-stats .has-warning{background:#fff4f2;border-color:#edcac4}.gantt-stats .has-warning strong{color:#a6383d}.gantt-toolbar,.gantt-timeline-tools{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.gantt-range{font-size:12px;color:#62566d}.gantt-timeline-tools{padding:12px 20px;background:#fcfbfe}.gantt-timeline-tools .row-actions{flex-wrap:wrap}.gantt-legend{display:flex;flex-wrap:wrap;gap:16px;padding:13px 20px;font-size:11px;color:#5c5268}.gantt-legend>span{display:flex;align-items:center;gap:6px}.gantt-legend i{width:11px;height:11px;border-radius:3px}.gantt-legend .done{background:#46a786}.gantt-legend .running{background:#8472c7}.gantt-legend .planned{background:#aaa0c4}.gantt-legend .pending{background:#6f8eaa}.gantt-legend .soon{background:#e0ac38}.gantt-legend .late{background:#d45f66}.gantt-today-key{color:#bb4e75}.gantt-scroll{max-height:640px;overflow:auto;position:relative;overscroll-behavior:contain;border-block:1px solid #e4deec;scrollbar-width:thin;scrollbar-color:#b7a8cf #f5f2fa}.gantt-grid{width:calc(var(--gantt-label) + var(--gantt-width));min-width:100%;direction:rtl}.gantt-chart-head,.gantt-row{display:grid;grid-template-columns:var(--gantt-label) var(--gantt-width)}.gantt-chart-head{position:sticky;top:0;z-index:8;background:#f5f0fc;min-height:76px}.gantt-chart-head>.gantt-label{z-index:10;background:#f5f0fc;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.gantt-label{position:sticky;right:0;z-index:4;background:#fff;border-left:1px solid #ded6e9;padding:10px 16px;display:flex;align-items:center;gap:10px;min-width:0}.gantt-label small{font-size:11px;color:#71677b;display:block}.gantt-label strong{font-size:13px;font-weight:650}.gantt-axis{min-width:0}.gantt-week-axis,.gantt-day-axis{display:flex;direction:rtl}.gantt-week-axis{height:36px}.gantt-week-axis>span{overflow:hidden;border-left:1px solid #ddd3e9;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:11px;color:#5c496e;background:#ede5f7;flex-shrink:0}.gantt-day-axis{height:40px}.gantt-day-axis>span{border-left:1px solid #e9e3f0;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;line-height:1.4;color:#62536e}.gantt-day-axis small{font-size:9px}.gantt-day-axis .holiday{background:#f8eae4;color:#965740}.gantt-day-axis .today{background:#8a619d;color:white;font-weight:bold}.gantt-row{height:64px;border-bottom:1px solid #ede8f3}.gantt-row:last-child{border-bottom:0}.gantt-row-title{border:0;background:transparent;text-align:right;color:#44364f;min-width:0;flex:1;padding:0;line-height:1.8}.gantt-row-title strong,.gantt-row-title small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gantt-row-title:hover strong{color:#7455a3;text-decoration:underline}.gantt-row-title em{font-size:10px;color:#b77721;font-style:normal}.gantt-fold{width:25px;height:25px;flex-shrink:0;border:1px solid #dacfe7;border-radius:7px;color:#796090;background:#fff;font-size:16px;line-height:1}.gantt-track{position:relative;isolation:isolate;background:repeating-linear-gradient(to left,transparent 0,transparent calc(var(--gantt-cell) - 1px),#eee9f4 calc(var(--gantt-cell) - 1px),#eee9f4 var(--gantt-cell));overflow:hidden}.gantt-holiday{position:absolute;inset-block:0;background:#f7e9df70;z-index:-1}.gantt-today-line{position:absolute;inset-block:0;width:2px;background:#bd5a8570;pointer-events:none;z-index:3}.gantt-bar{position:absolute;top:20px;height:24px;border:1px solid #aa9ac5;background:#eee9f5;border-radius:7px;overflow:hidden;min-width:8px;padding:0;z-index:2;transition:filter .15s;color:#4e4166}.gantt-bar>i{position:absolute;inset-block:0;inset-inline-start:0;background:#afa0ce}.gantt-bar>span{position:relative;z-index:1;font-size:10px;font-weight:bold;display:block;white-space:nowrap}.gantt-bar:hover{filter:brightness(.94);outline:2px solid #c2afd9;outline-offset:2px}.gantt-bar.running{background:#eee8fc;border-color:#a28ad0}.gantt-bar.running>i{background:#a891d3}.gantt-bar.pending{background:#e8f0f8;border-color:#91a9be;color:#3f607d}.gantt-bar.pending>i{background:#8faac1}.gantt-bar.done{background:#e2f3eb;border-color:#6db69b;color:#245840}.gantt-bar.done>i{background:#83c3ab}.gantt-bar.soon{background:#fff4cf;border-color:#d5a531;color:#7e5a13}.gantt-bar.soon>i{background:#e5c36a}.gantt-bar.late{background:#fce7e8;border-color:#d8777c;color:#95383c}.gantt-bar.late>i{background:#e69b9f}.gantt-bar.force{border-style:dashed;border-width:2px}.gantt-bar.child{height:18px;top:23px}.gantt-bar.milestone{border-style:dotted;min-width:14px}.project-row{height:72px;background:#fbf9fd}.project-row>.gantt-label{background:#f6f2fb}.project-row .gantt-bar{top:23px;height:26px;box-shadow:0 2px 3px #6c568616}.subtask-row>.gantt-label{padding-inline-start:32px}.gantt-no-tasks,.gantt-offscreen{display:block;padding:22px 14px;font-size:11px;color:#74667e}.gantt-chart-note{padding:0 20px 12px}.gantt-report-table td>small{display:block;font-size:11px;color:#74667e}.gantt-report-table td{font-size:12px}.gantt-report-table th{font-size:12px}.gantt-report-table .text-link{font-size:13px}.gantt-progress{display:inline-block;width:70px;height:6px;background:#eee8f5;border-radius:10px;overflow:hidden;margin-inline-end:8px;vertical-align:middle}.gantt-progress i{height:100%;display:block;background:#9a7db9}.gantt-report-table b{font-size:11px}.gantt-late-text{color:#a1323d;font-weight:700}.gantt-week-cards{padding:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.gantt-week-cards>div{border:1px solid #ebe3f2;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;background:#fcfbfe}.gantt-week-cards strong{font-size:22px;color:#695080}.gantt-week-cards strong>span{font-size:12px;font-weight:400}.gantt-week-cards small{font-size:11px;color:#67596f}.gantt-week-meter{height:6px;background:#ede5f7;border-radius:6px;overflow:hidden}.gantt-week-meter i{display:block;height:100%;background:#a78bc2}.gantt-method{font-size:12px;line-height:2}.gantt-method summary{cursor:pointer;font-weight:650}.gantt-detail-dates{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;background:#f8f5fc;border:1px solid #e7deef;border-radius:12px;margin-bottom:20px;font-size:13px}.gantt-log-note{display:block;white-space:pre-wrap;min-width:200px;max-width:480px;overflow-wrap:anywhere}.gantt-updated{color:#72617c}
@media(min-width:1500px){.gantt-filters .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1200px){.gantt-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.gantt-workspace{--gantt-label:180px}.gantt-filters{padding:16px}.gantt-filters .form-grid{grid-template-columns:1fr 1fr;gap:14px}.gantt-stats{grid-template-columns:1fr 1fr;gap:9px}.gantt-stats>.card{padding:13px}.gantt-stats strong{font-size:20px}.gantt-stats span{font-size:11px}.gantt-filter-foot{align-items:flex-start;flex-direction:column}.gantt-toolbar,.gantt-timeline-tools{padding:14px;gap:12px}.gantt-toolbar .segmented{width:100%;flex-wrap:wrap}.gantt-toolbar .segmented button{flex:1;font-size:11px}.gantt-label{padding:8px 10px;gap:6px}.gantt-label strong{font-size:12px}.gantt-label small{font-size:10px}.gantt-fold{width:21px;height:24px}.gantt-scroll{max-height:520px}.subtask-row>.gantt-label{padding-inline-start:18px}.gantt-detail-dates{grid-template-columns:1fr}.gantt-legend{padding:10px 14px;gap:10px}.gantt-week-cards{grid-template-columns:1fr 1fr;padding:14px;gap:9px}}
@media print{body:has(.gantt-workspace){background:#fff}.sidebar,header,footer,body:has(.gantt-workspace) .page-head>.btn,body:has(.gantt-workspace) .gantt-timeline-tools,body:has(.gantt-workspace) .gantt-filter-foot button,body:has(.gantt-workspace) .gantt-toolbar .segmented{display:none!important}body:has(.gantt-workspace) .main-shell{margin:0}body:has(.gantt-workspace) main{padding:0;max-width:none}body:has(.gantt-workspace) .page-head{display:block}.gantt-report-table{overflow:visible}.gantt-report-table table{white-space:normal}.gantt-report-table td,.gantt-report-table th{padding:5px;font-size:9px}.gantt-stats{grid-template-columns:repeat(3,1fr)}.gantt-scroll{max-height:none;overflow:visible}.gantt-grid{zoom:.5}.gantt-method{display:none}.gantt-panel{overflow:visible}.gantt-chart-head{position:static}.gantt-label{position:static}.gantt-row{break-inside:avoid}.gantt-filters{break-inside:avoid}.gantt-filters .form-grid{grid-template-columns:repeat(3,1fr)}.gantt-stats>.card{break-inside:avoid}}
.gantt-head-actions{flex-wrap:wrap;justify-content:flex-end}.gantt-toolbar .segmented button,.gantt-timeline-tools .segmented button{color:#665473;font-size:12px}.gantt-toolbar .segmented button.active,.gantt-timeline-tools .segmented button.active{color:#62477c;background:#fff;box-shadow:0 2px 6px #50336612}.gantt-print-only{display:none}
@media print{body:has(.gantt-workspace) .gantt-head-actions,.gantt-scroll,.gantt-legend,.gantt-chart-note{display:none!important}.gantt-print-only{display:block}}

/* A chart fold never replaces its scroll container or focused toggle. */
.gantt-scroll{height:min(640px,70vh);min-height:280px;overflow-anchor:none;scroll-behavior:auto}
.gantt-project-group{margin:0;padding:0;overflow-anchor:none}
.gantt-task-group{display:grid;grid-template-rows:1fr;transition:grid-template-rows 240ms cubic-bezier(.2,.7,.2,1);overflow-anchor:none}
.gantt-task-inner{min-height:0;overflow:clip;opacity:1;transition:opacity 180ms ease}
.gantt-project-group.is-collapsed .gantt-task-group{grid-template-rows:0fr}
.gantt-project-group.is-collapsed .gantt-task-inner{opacity:0}
.gantt-fold{transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease;touch-action:manipulation}
.gantt-fold:hover{background:#eee6f8;border-color:#b7a1cc;box-shadow:0 2px 7px #6b4b8620}
:root{--motion-fast:150ms;--motion-normal:220ms;--motion-ease:cubic-bezier(.2,.7,.2,1)}
.icon-button,.text-link,.segmented button,.task-filters button,.stock-tab,.nav-create-action{transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}
.btn:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}
.progress i,.performance-progress i,.gantt-progress i,.gantt-week-meter i{transition:width var(--motion-normal) var(--motion-ease)}
.nav-group-title .icon{transition:transform var(--motion-normal) var(--motion-ease)}
#modal[open]{animation:dialog-enter var(--motion-normal) var(--motion-ease)}
#modal[open]::backdrop{animation:backdrop-enter 180ms ease}
.toast.show,.modal-feedback:not([hidden]){animation:feedback-enter 180ms var(--motion-ease)}
@keyframes dialog-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes feedback-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){.gantt-scroll{height:min(520px,65svh)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.gantt-scroll{height:auto;min-height:0}.gantt-task-group{grid-template-rows:1fr}.gantt-task-inner{opacity:1}}
.gantt-scroll{scrollbar-gutter:stable}
@media(prefers-reduced-motion:no-preference){
 .nav-group::details-content{transition:height 200ms var(--motion-ease),content-visibility 200ms;transition-behavior:allow-discrete}
 @supports(interpolate-size:allow-keywords){.nav-group{interpolate-size:allow-keywords}.nav-group::details-content{height:0;overflow:clip}.nav-group[open]::details-content{height:auto}}
}
/* Account entry shares the portal's local font, spacing and restrained palette. */
[hidden]{display:none!important}body.auth-gated{background:#f6f3fb}body.auth-gated>.sidebar,body.auth-gated>.main-shell{display:none}#auth-screen{min-height:100svh;display:grid;place-items:center;padding:32px}.auth-layout{width:min(1080px,100%);display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid #e8e0f1;box-shadow:0 25px 90px #47325d12;border-radius:28px;overflow:hidden;min-height:670px}.auth-story{background:#27283f;color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:45px;position:relative;overflow:hidden}.auth-story:after{content:'';width:360px;height:360px;border:45px solid #c6b0e409;border-radius:50%;position:absolute;left:-170px;bottom:60px;pointer-events:none}.auth-story .brand{font-size:32px}.auth-story .brand small{color:#c1b8d2}.auth-story .brand-mark{background:#cfebdf;color:#39494b}.auth-eyebrow{color:#d9c4ed;font-size:13px}.auth-story h1{font-size:54px;line-height:1.6;letter-spacing:-1.5px;margin:16px 0;font-weight:750}.auth-story h1 em{color:#c7a9e3;font-style:normal}.auth-story p{color:#ccc5da;font-size:14px;line-height:2.2;max-width:340px}.auth-story>small{color:#aca6bd;font-size:11px}.auth-features{display:grid;gap:16px;margin-top:35px;color:#ded8e8;font-size:13px}.auth-features>span{display:flex;align-items:center;gap:10px}.auth-features .icon{width:19px;color:#c5addf}.auth-card{padding:46px;align-self:center}.auth-card-icon{height:48px;width:48px;display:grid;place-items:center;background:#f1eaf9;color:#85619d;border-radius:15px;margin-bottom:24px}.auth-card h2{font-size:25px;margin:0 0 12px;color:#342840;line-height:1.7}.auth-card>p{font-size:13px;color:#6d6279;line-height:2;margin:0 0 26px}.auth-card form{display:grid;gap:18px}.auth-card .field{font-size:13px;color:#4e405b}.auth-card input{min-height:46px}.auth-card input[dir=ltr]{text-align:left;letter-spacing:.5px}.auth-primary{width:100%;margin-top:6px;padding:13px 18px;font-size:14px}.auth-primary .icon{width:18px}.auth-forgot{margin:18px 0 0;padding:0;font-size:12px!important;color:#77578f!important}#auth-error{margin:0 0 20px;padding:12px 14px;border-radius:11px;border:1px solid #edbab8;background:#fff0ef;color:#933a3b;font-size:13px;line-height:1.9}.auth-demo{border-top:1px solid #ede5f4;margin-top:26px;padding-top:22px;display:grid;gap:10px}.auth-demo>span,.auth-setup>span{font-size:12px;color:#6e607a}.auth-demo .btn{width:100%;font-size:12px}.auth-demo small,.auth-foot{font-size:11px;color:#7a6d84;line-height:1.9}.auth-foot{margin-top:28px;text-align:center}.auth-setup{margin-top:22px;padding:14px;background:#f7f3fb;border:1px solid #e8dcf2;border-radius:11px;display:grid;gap:8px}.auth-setup .text-link{font-size:13px;text-align:right}.auth-help-box{padding:18px;border:1px solid #e7deef;background:#f8f5fc;border-radius:13px;font-size:13px;line-height:2.1;margin-bottom:22px}.auth-offline{padding:35px;background:#fff;border:1px solid #e4d9ed;border-radius:20px;max-width:500px;text-align:center}.account-enabled{display:flex;align-items:center;gap:9px;font-size:13px;margin-top:22px}.account-enabled input{accent-color:#83649d}.header-tools>[data-auth-action],.header-tools>[data-action="account-self"]{flex-shrink:0}.auth-card{animation:feedback-enter 200ms var(--motion-ease)}
@media(max-width:760px){#auth-screen{padding:18px}.auth-layout{grid-template-columns:1fr;max-width:480px;min-height:0;border-radius:22px}.auth-story{padding:24px;gap:0}.auth-story>div,.auth-story>small{display:none}.auth-story .brand{font-size:27px}.auth-card{padding:28px 24px}.auth-card h2{font-size:23px}.auth-card-icon{margin-bottom:18px}.auth-card>p{margin-bottom:22px}.auth-demo{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.auth-card{animation:none!important}}
.people-directory{display:flex;align-items:center;gap:18px;padding:18px 20px;margin:20px 0}.people-directory>.field{flex:1;max-width:440px}.people-directory>span{font-size:12px;color:#6c5d77}.people-directory>.row-actions{margin-inline-start:auto}.account-state{display:block;font-size:11px;color:#6b5678;margin-top:7px;overflow-wrap:anywhere}.person-card .row-actions{flex-wrap:wrap}
@media(max-width:650px){.people-directory{flex-wrap:wrap;padding:16px;gap:12px}.people-directory>.field{flex-basis:100%;max-width:none}}

/* Fixed artwork studio: preview and downloaded image share one renderer. */
.studio-catalog{padding:24px;margin-bottom:24px}.studio-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.studio-section-head h2,.studio-editor h2{font-size:17px;margin:0}.studio-section-head p,.studio-subtitle{font-size:13px;color:#647084;margin:5px 0 0}.studio-chip{background:#f0edf9;color:#60509b;border:1px solid #e3ddf1;padding:5px 11px;border-radius:20px;font-size:12px;white-space:nowrap}.studio-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 16px}.studio-filter{border:1px solid #e5e2ee;background:#fff;color:#596175;border-radius:9px;padding:7px 16px;font-size:13px}.studio-filter.selected{background:#eeebfa;border-color:#c5b8ed;color:#55408b;font-weight:700}.studio-templates{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.studio-template{position:relative;min-width:0;padding:6px 6px 12px;text-align:right;background:#fff;border:2px solid #eeecf3;border-radius:13px;color:#30364c;transition:border-color .18s,transform .18s;overflow:hidden}.studio-template:not(:disabled):hover{transform:translateY(-2px);border-color:#c5b8ed}.studio-template.selected{border-color:#8065cb;background:#faf8ff;box-shadow:0 3px 14px #65528b12}.studio-template img,.studio-placeholder{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#f1f0f5;border-radius:7px}.studio-placeholder{display:grid;place-items:center;color:#a4a0b3}.studio-placeholder svg{width:30px;height:30px}.studio-template-name{display:block;margin:10px 5px 2px;font-size:12px;font-weight:700}.studio-template small{display:block;margin:0 5px;color:#6c7282;font-size:11px}.studio-template:disabled{opacity:.8;cursor:default}.studio-selected{position:absolute;left:12px;top:12px;background:#8065cb;color:#fff;border-radius:50%;width:23px;height:23px;text-align:center;line-height:23px}.studio-workspace{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);align-items:start;gap:24px}.studio-editor{padding:24px}.studio-editor form{margin-top:22px}.studio-editor .field{margin-bottom:17px}.studio-editor .field[hidden]{display:none}.studio-editor .field small{font-size:12px;color:#657084}.studio-editor input,.studio-editor select{width:100%}.studio-feedback{font-size:12px;color:#4a6059;background:#f0f7f4;padding:11px 13px;border-radius:9px;margin:18px 0;min-height:60px}.studio-feedback.error{background:#fff1f0;color:#a43838}.studio-download{width:100%}.studio-export-note{display:block;text-align:center;color:#667083;font-size:11px;margin-top:12px}.studio-fixed-note{display:flex;gap:10px;border-top:1px solid #ebe9f0;padding-top:17px;margin-top:22px;color:#637063;font-size:12px}.studio-fixed-note svg{width:20px;flex-shrink:0;margin-top:5px}.studio-fixed-note p{margin:0}.studio-preview-panel{padding:24px;min-width:0}.studio-canvas-wrap{position:relative;margin-top:20px;background:#eeedf2;border:1px solid #e2dfe9;border-radius:12px;padding:15px;min-height:240px;display:grid;place-items:center}.studio-canvas-wrap canvas{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;box-shadow:0 8px 25px #15132124}.studio-canvas-wrap canvas:not([width]){visibility:hidden}.studio-canvas-wrap #studio-preview-state{position:absolute;background:#fffffff2;color:#565269;padding:12px 20px;border-radius:10px}.studio-preview-caption{font-size:12px;color:#6c7282;margin:15px 0 0;text-align:center}.studio-canvas-wrap [hidden]{display:none!important}
@media(max-width:1200px){.studio-templates{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-workspace{gap:18px;grid-template-columns:minmax(250px,300px) minmax(0,1fr)}}
@media(max-width:850px){.studio-workspace{grid-template-columns:1fr}.studio-editor,.studio-preview-panel,.studio-catalog{padding:18px}.studio-canvas-wrap{padding:8px}.studio-preview-panel{order:2}}
@media(max-width:480px){.studio-templates{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-section-head{align-items:flex-start}.studio-chip{font-size:10px}.studio-filter{padding:6px 12px}}
@media(prefers-reduced-motion:reduce){.studio-template{transition:none}}
.notice-blocks{border:1px solid #e4e0ed;border-radius:11px;padding:12px;margin:18px 0;min-width:0}.notice-blocks legend{font-weight:700;font-size:13px;padding:0 5px}.notice-block{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #ebe8f1}.notice-block textarea{width:100%;resize:vertical;min-height:115px;border:1px solid #dedbe7;border-radius:8px;padding:11px;font-size:13px;line-height:1.9;color:#293447;background:#fff}.notice-block-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.notice-block-toolbar label{display:flex;align-items:center;gap:4px;font-size:12px;color:#4b5168}.notice-block-toolbar input[type=checkbox]{width:15px;accent-color:#7c62bf}.notice-block-toolbar select{font-size:11px;padding:3px 5px}.notice-list-control{margin-left:auto}.notice-block-toolbar .icon-button{font-size:21px;min-width:28px;width:28px;height:28px;color:#a23d4a;background:#fff4f4}.studio-portrait canvas{max-height:none}.studio-portrait .studio-canvas-wrap{min-height:420px}.studio-editor :is(input,textarea,select):user-invalid{border-color:#bc4f56;box-shadow:0 0 0 2px #bc4f5615}
.education-teacher{border:1px solid #e3dfed;border-radius:12px;padding:16px;margin:20px 0;min-width:0}.education-teacher legend{font-size:14px;font-weight:700;padding:0 7px}.education-teacher textarea{width:100%;min-height:140px;border:1px solid #dedbe8;border-radius:9px;padding:12px;resize:vertical;font-size:13px;line-height:1.9;color:#2b3448}.education-teacher input[type=file]{font-size:12px;white-space:normal;padding:9px}.education-photo{display:flex;align-items:center;gap:10px;padding:10px;background:#f4f2f9;border-radius:10px;margin-bottom:15px;overflow:hidden}.education-photo img{width:58px;height:72px;object-fit:contain;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0/12px 12px;border-radius:5px}.education-photo span{font-size:11px;min-width:0;overflow-wrap:anywhere}.education-photo small{display:block;color:#677186}.education-crop{border:1px solid #e8e4f0;border-radius:9px;padding:10px;margin:12px 0 20px}.education-crop summary{font-size:12px;font-weight:700;cursor:pointer}.education-crop[open] summary{margin-bottom:15px}.education-crop input[type=range]{accent-color:#7b61bd;width:100%;padding:0;direction:ltr}.education-teacher .help,.education-crop small{font-size:12px;line-height:1.9}.studio-templates{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1200px){.studio-templates{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:480px){.studio-templates{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Refined Rasan wordmark: light, integrated with the existing dark panels. */
.sidebar .brand,.auth-story .brand{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;max-width:208px;min-height:56px;padding:5px 3px;background:transparent;border-radius:0;box-shadow:none;text-decoration:none;overflow:visible;flex-shrink:0}
.brand-icon{display:block;width:39px;height:39px;flex:0 0 39px;overflow:visible}
.brand-name{display:block;color:#f4f1ff;font-family:var(--font);font-size:25px;font-weight:650;line-height:1.4;letter-spacing:-.65px}
.auth-story .brand{max-width:208px}.auth-story .brand-name{font-size:27px;color:#fff}
@media(max-width:760px){.auth-story .brand{max-width:208px}}
