@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:Manrope,system-ui,sans-serif;color:#252535;background:#f7f8fb;font-synthesis:none;--purple:#6954cf;--muted:#898b9c;--line:#e9eaf1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid #dedfe9;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700;color:#56576b;transition:.15s}button:hover{border-color:#a99bdf;background:#f6f3ff}button:focus-visible,a:focus-visible{outline:3px solid #b5a5f3;outline-offset:2px}.primary{background:var(--purple);color:white;border-color:var(--purple);box-shadow:0 3px 6px #6954cf22}.primary:hover{background:#5844b9;color:white}.text-btn{border:none;color:var(--purple);padding:5px}.icon-btn{font-size:24px;border:none;padding:0 10px}aside{position:fixed;width:240px;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#28273b;font-size:23px;font-weight:800;letter-spacing:-1px}.brand-icon{display:inline-grid;place-items:center;background:var(--purple);color:white;border-radius:12px;width:36px;height:36px;font-size:27px}.dot{color:#b7a7ed;font-size:10px;margin-top:-15px}.workspace{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px 9px;margin-top:35px;font-size:10px}.workspace small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.avatar{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edeaf9;color:#7260ba;font-size:11px;font-weight:800;flex-shrink:0}.nav-label{font-size:9px;font-weight:800;color:#a6a7b5;letter-spacing:1.5px;margin:30px 10px 12px}nav{display:grid;gap:6px}nav button{border:0;text-align:left;background:none;padding:12px;font-size:11px;font-weight:600;display:flex;gap:12px;align-items:center}nav button span{font-size:20px;width:20px;line-height:20px;color:#9393a8}nav button.selected{background:#efebfb;color:#6650bc}nav button.selected span{color:#6650bc}.sidebar-note{margin-top:auto;background:#f8f7fc;padding:17px 14px;border-radius:12px;font-size:10px;line-height:1.7}.tiny-icon{display:block;font-size:25px;color:var(--purple)}.sidebar-note p{color:var(--muted);margin:6px 0}.sidebar-note button{border:none;padding:6px 0;background:none;color:var(--purple);font-size:10px}.sidebar-foot{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted);margin-top:25px}.sidebar-foot span:last-child{margin-left:auto}.online{background:#78bda3;width:6px;height:6px;border-radius:50%}.shell{margin-left:240px}header{height:75px;border-bottom:1px solid var(--line);background:#ffffffbb;padding:0 36px;display:flex;align-items:center;justify-content:space-between;font-size:10px}.crumb{color:#9697a7}.crumb span{padding:0 14px;color:#c3c4cc}.crumb b{color:#606176;font-weight:600}.header-right{display:flex;gap:20px;align-items:center;color:#9395a3}main{max-width:1600px;padding:25px 36px;margin:auto}.prototype{display:flex;align-items:center;gap:12px;font-size:10px;color:#838295;padding:10px 12px;background:#efedf7;border:1px solid #e7e2f3;border-radius:8px}.prototype>span{font-size:8px;color:#7762bb;font-weight:800;white-space:nowrap}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:800;color:#9593a6}h1{font-size:28px;letter-spacing:-1px;margin:9px 0;color:#252338}h2{font-size:21px;margin:8px 0}p{line-height:1.65}.page-heading p{font-size:12px;color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:27px}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.stat-label{color:#858597;font-size:10px;display:flex;justify-content:space-between;align-items:center}.stat-label span{font-size:16px;color:#a393d1}.stat-value{font-size:28px;font-weight:700;margin:8px 0 3px;letter-spacing:-1px}.stat small{font-size:9px;color:#a0a1af}.stat.alert .stat-value{color:#ca8554}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.date-nav{display:flex;align-items:center;gap:10px}.date-nav b{font-size:14px}.date-nav button{padding:5px 9px}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filters select,.filters input{font-size:10px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:white;color:#737285;max-width:160px}.segmented{display:flex;padding:3px;background:#f3f3f8;border-radius:7px}.segmented button{border:0;background:none;padding:6px 13px;font-size:10px}.segmented button.on{background:white;box-shadow:0 1px 4px #25253515;color:#6752bc}.week{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-height:390px}.calendar-scroll{overflow:auto}.day{border-right:1px solid var(--line);min-width:0;min-height:380px;padding:10px 8px;background:linear-gradient(white,#fdfdff)}.day:last-child{border-right:0}.day.today{background:#fbfaff}.day-head{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 16px;color:#9392a2;font-size:9px}.day-num{display:grid;place-items:center;width:25px;height:25px;font-size:13px;font-weight:700;color:#666377;border-radius:8px}.today .day-num{background:var(--purple);color:white}.event{width:100%;text-align:left;margin-bottom:9px;padding:12px 10px;background:#f2effb;border:1px solid #e9e3f7;border-left:3px solid #ab96e6;border-radius:7px;line-height:1.5;min-height:120px;overflow-wrap:anywhere}.event.green{background:#eff8f4;border-color:#daeee3;border-left-color:#7fbd9d}.event.orange{background:#fff5eb;border-color:#f9e9d7;border-left-color:#e5b073}.event .time{font-size:9px;color:#8a79b0;font-weight:600}.event b{display:block;color:#51476e;font-size:10px;margin:7px 0}.event small{display:block;color:#9590a7;font-size:9px;font-weight:500}.event .tag{margin-top:9px}.tag{display:inline-block;border-radius:5px;padding:3px 6px;font-size:8px;font-weight:700;background:#ffffffaa;color:#7f6ba9;white-space:nowrap}.tag.green{background:#eaf5ee;color:#5f9877}.tag.orange{background:#fff0e1;color:#bd8750}.tag.gray{background:#f0f0f5;color:#8f8f9e}.empty-day{font-size:9px;color:#c1c0cd;text-align:center;margin-top:48px}.panel-foot{display:flex;gap:16px;align-items:center;padding:15px 20px;color:#9a98aa;font-size:9px;border-top:1px solid var(--line)}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b49ae3;margin-right:5px}.legend-dot.green{background:#8dc3a4}.legend-dot.orange{background:#e1b17b}.panel-foot span:last-child{margin-left:auto}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 13px}.section-title h3{font-size:14px;margin:0}.section-title button{font-size:10px}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini{background:white;border:1px solid var(--line);border-radius:10px;padding:17px;cursor:pointer;text-align:left}.mini b{font-size:11px;display:block;margin:12px 0 5px}.mini p{font-size:10px;color:#9592a6;margin:4px 0}.mini-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#9692a6}footer{display:flex;align-items:center;gap:12px;font-size:10px;color:#adacba;margin-top:30px;padding:18px 0;border-top:1px solid var(--line)}footer span{margin-right:auto}footer button{font-size:9px;background:none;border:0;padding:4px}.empty{padding:65px 20px;text-align:center;color:#9b98ad;font-size:12px}.empty b{display:block;color:#635b7b;font-size:16px;margin-bottom:10px}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;font-size:9px;color:#9a97a9;letter-spacing:.6px;font-weight:600;background:#fcfcfe}td,th{padding:18px 20px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td small{display:block;color:#a09cae;font-size:9px;margin-top:5px}tbody tr{cursor:pointer}tbody tr:hover{background:#fcfaff}.table-wrap{overflow:auto}.overdue{color:#bd7348!important}.info{padding:14px 17px;background:#f0edf8;border:1px solid #e7e1f5;border-radius:9px;font-size:11px;line-height:1.7;color:#7e719d;margin-bottom:18px}.roadmap{display:grid;gap:14px}.step{display:flex;gap:20px;padding:23px;background:white;border:1px solid var(--line);border-radius:12px}.step-number{background:#f0edf8;color:#8c78c3;font-size:17px;border-radius:10px;padding:10px;height:44px}.step h3{margin:2px 0 8px;font-size:15px}.step p{font-size:12px;color:#8b879c;margin:0}.step .tag{margin-bottom:10px}.directory{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dir-head{padding:20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.dir-head h3{margin:0;font-size:14px}.dir-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);font-size:12px}.dir-row button{padding:3px 9px;border:0;color:#a8a2b5}.dir-form{display:flex;padding:15px;gap:8px}.dir-form input{min-width:0;flex:1}dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(650px,95vw);max-height:92vh;box-shadow:0 24px 100px #28213433}dialog::backdrop{background:#24203866;backdrop-filter:blur(3px)}.modal-head{padding:23px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:22px 26px;display:grid;gap:16px}label{display:grid;gap:7px;font-size:11px;color:#777186;font-weight:600}input,select,textarea{width:100%;border:1px solid #e1ddea;border-radius:7px;padding:10px 11px;background:white;color:#514861;font-size:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#a091d6;box-shadow:0 0 0 3px #eee9fb}textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.items-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px}.item{display:grid;grid-template-columns:2fr 1.2fr 1fr 24px;gap:7px;align-items:end;margin-bottom:10px}.item label{font-size:9px}.item button{padding:8px 2px;border:none}.modal-foot{padding:17px 26px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fcfbfe}.modal-foot>div{display:flex;gap:8px;margin-left:auto}.danger{color:#ba6f77;background:none;border:0;font-size:10px}#form-error:not(:empty){padding:12px;background:#fff1ec;color:#ac664e;border-radius:8px;font-size:12px;line-height:1.6}.hint{font-size:10px;line-height:1.7;color:#91889e}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#39314d;color:white;box-shadow:0 4px 20px #0002;border-radius:10px;padding:14px 22px;font-size:12px;z-index:20}button[hidden]{display:none}.list-row{display:grid;grid-template-columns:120px 1fr 160px 130px;gap:15px;padding:20px;border-bottom:1px solid var(--line);font-size:11px;cursor:pointer;align-items:center}.list-row:hover{background:#faf8ff}.list-row small{display:block;color:#9e96ae;margin-top:5px}@media(min-width:1350px){.week{grid-template-columns:repeat(7,minmax(130px,1fr))}}@media(max-width:1100px){aside{width:200px;padding:25px 12px}.shell{margin-left:200px}main{padding:22px}.week{grid-template-columns:repeat(7,minmax(135px,1fr))}.stats{gap:10px}.stat{padding:13px}.mini-grid{grid-template-columns:1fr 1fr}.mini:last-child{display:none}}@media(max-width:720px){aside{position:static;width:100%;padding:15px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.workspace,.nav-label,.sidebar-note,.sidebar-foot{display:none}aside nav{display:flex;margin-top:12px;overflow:auto}aside nav:last-of-type{margin-top:0}nav button{padding:8px;font-size:10px;white-space:nowrap}nav button span{font-size:16px}.shell{margin:0}header{height:50px;padding:0 18px}.crumb{font-size:9px}.header-right>span:first-child{display:none}main{padding:15px}.prototype{font-size:9px;align-items:flex-start}.page-heading{margin:24px 0;gap:12px;align-items:flex-start}h1{font-size:23px}.page-heading .primary{font-size:10px;padding:10px;white-space:nowrap;margin-top:20px}.eyebrow{font-size:8px}.stats{grid-template-columns:1fr 1fr}.stat-value{font-size:24px}.toolbar{padding:14px}.mini-grid,.directory{grid-template-columns:1fr}.mini:last-child{display:block}.mini-grid .mini{min-height:100px}.panel-foot{flex-wrap:wrap;gap:9px}.panel-foot span:last-child{margin:0}.two{grid-template-columns:1fr}.modal-body{padding:18px}.item{grid-template-columns:1.5fr 1fr 24px}.item label:nth-child(3){grid-row:2;grid-column:1/3}.item button{grid-column:3;grid-row:1}.modal-head{padding:18px}.modal-foot{padding:16px}footer{flex-wrap:wrap}footer span{display:none}.list-row{grid-template-columns:85px 1fr}.list-row>span:nth-child(n+3){display:none}.step{padding:17px;gap:12px}}
[hidden]{display:none!important}button:disabled{cursor:wait;opacity:.55}input:disabled,select:disabled,textarea:disabled{background:#f5f3f8;color:#777}#current-user{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:#76658d}#current-role{max-width:250px}#sync-label{font-size:9px;color:#92929f}.member-form{display:grid;grid-template-columns:1.7fr 1.2fr 1.2fr auto;gap:15px;align-items:center;padding:20px;border-bottom:1px solid var(--line);font-size:12px}.member-form small{display:block;color:#9791a4;font-size:10px;margin-top:7px}.member-form button{align-self:end}.audit-event{padding:22px;border-bottom:1px solid var(--line);font-size:12px}.audit-event:last-child{border-bottom:0}.audit-meta{display:flex;justify-content:space-between;font-size:10px;color:#aaa1b6;margin-bottom:9px}.audit-event p{font-size:10px;color:#95899f;margin:7px 0}.audit-event details{margin-top:13px;color:#82728e}.audit-event summary{cursor:pointer;font-size:11px}.change{display:grid;grid-template-columns:100px 1fr 1fr;gap:10px;border-top:1px solid #eee9f1;padding:12px 0;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.change:first-of-type{margin-top:12px}@media(max-width:850px){.member-form{grid-template-columns:1fr 1fr}.member-form>div{grid-column:1/3}.member-form button{grid-column:1/3}.header-right{font-size:9px;gap:8px}.change{grid-template-columns:1fr}.audit-meta{gap:15px}#sync-label{width:100%}}
.check-line{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.6}.check-line input{width:auto;accent-color:var(--purple)}.requests-toolbar{border:0;padding:0 0 20px}.requests-list{display:grid;gap:20px}.request-head{padding:22px;display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line)}.request-head h3{font-size:16px;margin:12px 0 7px}.request-head p{font-size:11px;color:#92869d;margin:0}.request-period{font-size:10px;color:#91819d;white-space:nowrap}.request-body{padding:0 22px}.request-target{padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.request-target p,.request-blocker p{font-size:11px;color:#95869d;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.request-blocker{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:12px}.request-blocker:last-child{border:0}.request-blocker small{display:block;font-size:10px;color:#a798af;margin-top:7px}.decision-box{max-width:45%;min-width:180px}.request-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.request-actions button{font-size:10px}.request-foot{padding:17px 22px;border-top:1px solid var(--line);background:#fcfbfe;font-size:10px;color:#94839f;line-height:1.7}.request-foot .request-actions{justify-content:flex-end}#review-summary{font-size:12px}#review-error:not(:empty){padding:12px;background:#fff1ec;color:#ac664e;border-radius:8px;font-size:12px;line-height:1.6}.audit-request{padding:8px 12px;background:#f8f5fc;border-radius:8px;margin-top:10px}@media(max-width:720px){.request-head,.request-blocker{flex-direction:column}.request-period{white-space:normal}.decision-box{max-width:100%}.requests-toolbar .segmented{flex-wrap:wrap}.modal-foot>div{flex-wrap:wrap;justify-content:flex-end}.request-head,.request-body{padding:17px}}

.stat-value.is-zero{color:#a6a4b5}
/* Consistent native controls, including Safari and dark OS themes. */
:root{color-scheme:light}select,select option,input[list],datalist option{color:#514861;background-color:#fff;color-scheme:light}select{-webkit-text-fill-color:#514861}select:disabled{-webkit-text-fill-color:#777;opacity:1}
.preprod-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:20px}.preprod-title{font-size:13px;white-space:nowrap;flex-shrink:0}.preprod-toolbar .filters{margin-left:auto;flex-wrap:nowrap;min-width:0}.preprod-toolbar .filters select{width:160px;min-width:110px;height:36px}
.status-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.status-toolbar .check-line{white-space:nowrap;margin-left:auto}.status-switch{display:flex;align-items:center;gap:3px;background:#f2f0f7;border:1px solid #e8e3f0;padding:4px;border-radius:9px;width:fit-content;max-width:100%;flex-wrap:wrap}.status-switch button{border:0;border-radius:6px;background:transparent;color:#80768f;font-size:10px;padding:8px 11px;white-space:nowrap;box-shadow:none}.status-switch button.on{background:#fff;color:#6650bc;box-shadow:0 1px 4px #30234314}.status-switch button:hover{background:#e9e3f5}.status-field{border:0;padding:0;margin:0;min-width:0}.status-field legend{font-size:11px;color:#777186;font-weight:600;margin-bottom:8px}.status-option{position:relative;display:block;cursor:pointer;margin:0}.status-option input{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0;margin:0;overflow:hidden}.status-option span{display:block;padding:9px 11px;font-size:10px;line-height:16px;border-radius:6px;white-space:nowrap;color:#80768f}.status-option input:checked+span{background:#fff;color:#6650bc;box-shadow:0 1px 4px #30234314}.status-option input:focus-visible+span{outline:2px solid #a091d6;outline-offset:1px}.status-option input:disabled+span{cursor:default;opacity:.7}
.item{grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) 24px;align-items:end}.item label{min-width:0;grid-template-rows:16px 40px;gap:7px}.item input,.item select{height:40px;min-height:40px;max-height:40px;line-height:18px;padding:10px;box-sizing:border-box;min-width:0;font-size:12px;border-radius:7px}.item>button{height:40px;line-height:20px}.item select{padding-right:24px}
@media(max-width:720px){.preprod-toolbar{flex-wrap:wrap;gap:12px}.preprod-toolbar .filters{width:100%;margin:0}.preprod-toolbar .filters select{width:50%;max-width:none;min-width:0}.status-toolbar{padding:12px 14px;gap:12px}.status-toolbar .check-line{margin-left:0}.status-filter-switch{width:100%}.status-switch button,.status-option span{padding:8px;font-size:9px}.item{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 24px}}

.telegram-panel{padding:26px}.telegram-panel p{font-size:12px;color:#91859c;line-height:1.8}.telegram-panel h2{margin-top:17px}.telegram-link{display:inline-block;padding:12px 16px;background:#6954cf;color:#fff;text-decoration:none;border-radius:8px;font-size:12px;font-weight:700}
.login-page{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{width:min(100%,520px);background:white;padding:40px;border:1px solid #e8e5f0;border-radius:20px;box-shadow:0 20px 60px #6552cb12}.login-card h1{font-size:30px;margin-top:30px}.login-card p{line-height:1.6}.login-card .primary{margin:12px 0}.login-code{font-size:24px;font-weight:700;color:#6552cb}.invite-panel{padding:24px;margin-bottom:20px}.invite-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.invite-form label{flex:1;min-width:200px}.invite-form button{min-height:42px}.invite-result{overflow-wrap:anywhere;margin-top:14px}.login-card .brand{margin:0}
