:root{font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,-apple-system,sans-serif;color:#10182b;background:#f4f7fb;font-synthesis:none;--navy: #052958;--navy-deep: #031d41;--blue: #1265ff;--blue-dark: #0b52df;--blue-soft: #eaf2ff;--green: #159447;--green-soft: #e9f8ef;--orange: #f28a18;--orange-soft: #fff4e8;--red: #ef4b4b;--red-soft: #fff0f0;--purple: #7557d9;--purple-soft: #f0edff;--ink: #10182b;--muted: #6c778c;--line: #dde3ec;--line-soft: #edf0f5;--surface: #ffffff;--canvas: #f4f7fb;--shadow: 0 12px 32px rgba(22, 43, 74, .08)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font:inherit}button{border:0;color:inherit}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(18,101,255,.24);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{display:flex;min-height:100vh;background:radial-gradient(circle at 90% 0%,rgba(18,101,255,.04),transparent 26rem),var(--canvas)}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:104px;flex-direction:column;padding:18px 10px 16px;color:#fff;background:linear-gradient(180deg,#062d62,#041f48);box-shadow:8px 0 20px #031d4121}.brand{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;color:#fff;border-radius:18px;background:#ffffff0f}.nav-section{display:grid;gap:6px}.nav-section-label{padding:10px 16px 6px;color:#b8c9e1;font-size:12px;font-weight:700;letter-spacing:.16em}.nav-item{position:relative;display:grid;width:84px;min-height:68px;place-items:center;gap:5px;padding:9px 6px;color:#f4f7ff;border-radius:12px;background:transparent;transition:background .16s ease,transform .16s ease,color .16s ease}.nav-item span{font-size:14px;font-weight:700}.nav-item:hover{background:#ffffff14}.nav-item.active{color:#fff;background:linear-gradient(180deg,#1f71ff,#0d5af0);box-shadow:0 10px 22px #041d414d}.nav-item:active{transform:translateY(1px)}.nav-badge{position:absolute;top:7px;right:10px;display:grid;min-width:20px;height:20px;place-items:center;padding:0 5px;color:#fff;font-size:9px;line-height:1;border:2px solid var(--navy);border-radius:999px;background:#f5222d}.nav-item.active .nav-badge{border-color:#1d69f6}.nav-divider{height:1px;margin:12px 16px 4px;background:#ffffff2e}.sidebar-spacer{flex:1}.app-main{width:calc(100% - 104px);min-width:0;margin-left:104px}.topbar{position:sticky;z-index:15;top:0;display:flex;height:72px;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(221,227,236,.9);background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.operator-context,.topbar-tools,.topbar-fact,.message-center-button,.context-chip{display:flex;align-items:center}.operator-context{gap:9px;min-width:0;font-size:14px;font-weight:700}.operator-context>span{white-space:nowrap}.context-chip{gap:5px;margin-left:8px;padding:8px 10px;color:var(--blue-dark);font-weight:700;border-radius:8px;background:var(--blue-soft)}.topbar-tools{gap:12px}.topbar-fact{gap:6px;color:#4c586e;font-size:13px;white-space:nowrap}.topbar-fact svg{color:var(--blue)}.message-center-button{position:relative;gap:8px;padding:11px 14px;font-size:14px;font-weight:700;border:1px solid #aab4c5;border-radius:9px;background:#fff}.message-center-button:hover{border-color:var(--blue);background:#f7faff}.message-center-button b{position:absolute;top:-8px;right:-8px;display:grid;min-width:24px;height:24px;place-items:center;padding:0 6px;color:#fff;font-size:12px;border:3px solid #fff;border-radius:999px;background:#f5222d}.icon-button{display:inline-grid;width:38px;height:38px;place-items:center;color:#334057;border-radius:9px;background:transparent}.icon-button:hover{background:#eff3f8}.content{min-height:calc(100vh - 72px)}.page,.stage-page,.execution-page{width:min(100%,1540px);margin:0 auto;padding:28px 30px 42px}.event-active{background:#fff}.page-header{display:flex;min-height:64px;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.page-header h1{margin:0;color:#111a2e;font-size:clamp(25px,2.2vw,34px);font-weight:780;letter-spacing:-.025em}.page-header p{margin:8px 0 0;color:var(--muted);font-size:14px}.eyebrow,.panel-kicker{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow{margin-bottom:8px}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.primary-button,.secondary-button,.text-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:750;border-radius:8px;transition:.15s ease}.primary-button{color:#fff;background:linear-gradient(180deg,#1b6cff,#0e5bec);box-shadow:0 6px 14px #1265ff2e}.primary-button:hover:not(:disabled){background:linear-gradient(180deg,#0f5ff0,#094acb);transform:translateY(-1px)}.secondary-button{color:#243147;border:1px solid #cfd6e2;background:#fff}.secondary-button:hover:not(:disabled){color:var(--blue-dark);border-color:#8bb2ff;background:#f7faff}.primary-button.compact,.secondary-button.compact{min-height:34px;padding:7px 11px;font-size:12px}.primary-button.full,.secondary-button.full{width:100%}.text-button{min-height:32px;padding:4px;color:var(--blue-dark);background:transparent}.text-button:hover{color:#063db3}.status-pill{display:inline-flex;min-height:24px;align-items:center;gap:5px;padding:4px 9px;color:var(--blue-dark);font-size:11px;font-weight:750;white-space:nowrap;border-radius:999px;background:var(--blue-soft)}.status-pill.green{color:#0d7a37;background:var(--green-soft)}.status-pill.orange{color:#bc6500;background:var(--orange-soft)}.status-pill.gray{color:#596579;background:#edf0f5}.panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 4px 16px #162b4a08}.panel-title{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--line-soft)}.panel-title h3{margin:2px 0 0;font-size:17px;letter-spacing:-.01em}.muted{color:var(--muted);font-size:12px}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(420px,1fr);min-height:252px;overflow:hidden;color:#fff;border-radius:14px;background:linear-gradient(125deg,#0d3464f2,#0c58d1e6),#08366f;box-shadow:0 18px 40px #062d6226}.hero-event{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:32px}.hero-copy h2{margin:13px 0 9px;font-size:clamp(24px,2.5vw,38px);letter-spacing:-.03em}.hero-copy p{display:flex;align-items:center;gap:7px;margin:0;color:#d6e6ff;font-size:13px}.hero-copy p span{width:1px;height:15px;margin:0 5px;background:#ffffff59}.hero-actions{display:flex;gap:10px;margin-top:26px}.dashboard-hero .secondary-button{color:#fff;border-color:#fff6;background:#ffffff14}.health-orbit{display:grid;place-items:center;gap:8px;min-width:114px}.health-orbit>span{color:#cfe0fb;font-size:12px}.progress-ring{--ring-color: var(--blue);position:relative;display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:conic-gradient(var(--ring-color) calc(var(--value) * 1%),#e7ebf1 0)}.progress-ring:before{position:absolute;top:7px;right:7px;bottom:7px;left:7px;content:"";border-radius:50%;background:#fff}.progress-ring span{position:relative;z-index:1;font-size:12px;font-weight:800}.progress-ring.green{--ring-color: var(--green)}.progress-ring.orange{--ring-color: var(--orange)}.health-orbit .progress-ring:before{background:#0b4489}.health-orbit .progress-ring span{color:#fff;font-size:22px}.today-flow{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:8px;padding:28px 22px;background:#031e4642}.flow-step{display:grid;min-width:0;place-items:center;gap:5px;text-align:center}.flow-step strong{font-size:13px}.flow-step span{color:#bcd2f0;font-size:11px}.flow-dot{position:relative;width:42px;height:42px;margin-bottom:5px;border:5px solid rgba(255,255,255,.16);border-radius:50%;background:conic-gradient(#52a0ff var(--flow),rgba(255,255,255,.12) 0)}.flow-dot:after{position:absolute;top:5px;right:5px;bottom:5px;left:5px;content:"";border-radius:50%;background:#0d4f9e}.stats-grid{display:grid;gap:14px;margin:18px 0}.stats-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;min-height:100px;align-items:center;gap:12px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fff}.stat-card.actionable{transition:.15s ease}.stat-card.actionable:hover{border-color:#a9c5ff;box-shadow:0 8px 22px #162b4a14;transform:translateY(-1px)}.stat-icon{display:grid;width:44px;height:44px;place-items:center;color:var(--blue);border-radius:11px;background:var(--blue-soft)}.stat-icon.orange{color:var(--orange);background:var(--orange-soft)}.stat-icon.green{color:var(--green);background:var(--green-soft)}.stat-icon.purple{color:var(--purple);background:var(--purple-soft)}.stat-icon.red{color:var(--red);background:var(--red-soft)}.stat-card>div:not(.stat-icon){display:grid;gap:3px}.stat-card span{color:var(--muted);font-size:11px}.stat-card strong{font-size:21px;letter-spacing:-.02em}.stat-card small{color:#8190a6;font-size:10px}.stat-arrow{color:#9aa6b8}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px}.task-list{display:grid}.task-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;min-height:65px;align-items:center;gap:12px;padding:10px 16px;text-align:left;border-bottom:1px solid var(--line-soft);background:transparent}.task-row:last-child{border-bottom:0}.task-row:hover{background:#f8faff}.task-row>span:nth-child(2){display:grid;gap:4px}.task-row b{font-size:13px}.task-row small{color:var(--muted);font-size:11px}.task-icon{display:grid;width:36px;height:36px;place-items:center;color:var(--blue);border-radius:9px;background:var(--blue-soft)}.task-icon.orange{color:var(--orange);background:var(--orange-soft)}.task-icon.purple{color:var(--purple);background:var(--purple-soft)}.task-icon.red{color:var(--red);background:var(--red-soft)}.mini-chart{display:flex;height:178px;align-items:flex-end;justify-content:space-between;gap:12px;padding:22px 24px 18px}.chart-column{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}.chart-bar{width:min(100%,28px);min-height:18px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#4d94ff,#1265ff)}.chart-column span{color:#8a96a8;font-size:10px}.trend-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-soft)}.trend-summary span{display:grid;gap:4px;padding:14px;color:var(--muted);font-size:10px;text-align:center;border-right:1px solid var(--line-soft)}.trend-summary span:last-child{border-right:0}.trend-summary b{color:var(--ink);font-size:16px}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.search-field{display:flex;width:min(350px,100%);height:42px;align-items:center;gap:8px;padding:0 12px;color:#738096;border:1px solid #cfd7e3;border-radius:9px;background:#fff}.search-field.wide{width:100%}.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1265ff1a}.search-field input{width:100%;min-width:0;color:var(--ink);border:0;outline:0;background:transparent}.segmented-control,.section-tabs,.message-tabs{display:inline-flex;gap:3px;padding:4px;border-radius:9px;background:#e9edf4}.segmented-control button,.section-tabs button,.message-tabs button{min-height:32px;padding:6px 11px;color:#627087;font-size:12px;font-weight:700;border-radius:7px;background:transparent}.segmented-control button.active,.section-tabs button.active,.message-tabs button.active{color:var(--blue-dark);background:#fff;box-shadow:0 2px 8px #1d2f4d14}.event-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.event-card{display:flex;min-height:310px;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 18px #162b4a08}.event-card:hover{border-color:#afc9ff;box-shadow:var(--shadow)}.event-card-top{display:flex;align-items:center;justify-content:space-between}.event-symbol{display:grid;width:50px;height:50px;place-items:center;margin:8px 0 6px;color:var(--blue);border-radius:13px;background:var(--blue-soft)}.event-card h3{margin:7px 0 10px;font-size:18px}.event-card p{display:flex;align-items:center;gap:7px;margin:4px 0;color:var(--muted);font-size:12px}.event-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;padding:12px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.event-card-metrics span{display:grid;color:var(--muted);font-size:10px;text-align:center}.event-card-metrics b{color:var(--ink);font-size:16px}.event-card-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:14px}.event-workspace{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 72px)}.event-rail{position:relative;display:flex;min-height:calc(100vh - 72px);flex-direction:column;padding:18px 16px 24px;border-right:1px solid var(--line);background:#fff}.event-rail-back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 0;color:#6c778c;font-size:12px;font-weight:700;background:transparent}.event-rail-facts{display:grid;gap:7px;padding:13px 2px 16px;border-bottom:1px solid var(--line-soft)}.event-rail-facts strong{font-size:14px;line-height:1.4}.event-rail-facts>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.stage-list{padding:14px 0 8px}.stage-item{position:relative;display:grid;width:100%;grid-template-columns:44px 1fr;align-items:center;gap:9px;min-height:60px;padding:4px 8px;color:#566277;text-align:left;background:transparent}.stage-item>span:last-of-type{font-size:13px;font-weight:700}.stage-node{position:relative;z-index:2;display:grid;width:38px;height:38px;place-items:center;color:#39475f;border:1px solid #d6dde7;border-radius:50%;background:#fff}.stage-item i{position:absolute;z-index:1;top:44px;left:26px;width:2px;height:32px;background:#cbd3df}.stage-item.active{color:var(--blue)}.stage-item.active .stage-node{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:0 6px 15px #1265ff47}.stage-submenu{display:grid;gap:4px;margin:0 2px 0 50px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.stage-submenu button{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;padding:9px 8px;color:#465269;font-size:11px;font-weight:700;text-align:left;border-radius:7px;background:transparent}.stage-submenu button:hover,.stage-submenu button.active{color:var(--blue);background:var(--blue-soft)}.event-stage-content{min-width:0;background:#fff}.stage-page,.execution-page{padding-top:26px}.step-banner{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:18px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--line)}.step-banner>div{display:flex;min-height:62px;align-items:center;gap:9px;padding:12px 16px;font-size:12px;font-weight:750;background:#fff}.step-banner span{display:grid;width:27px;height:27px;place-items:center;color:var(--blue);font-size:11px;border-radius:50%;background:var(--blue-soft)}.step-banner .done span{color:var(--green);background:var(--green-soft)}.step-banner .current{color:var(--blue);background:#f7faff}.two-column{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;margin-bottom:16px}.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}.fact-grid>div,.detail-block,.review-summary>div{display:grid;gap:5px}.fact-grid span,.detail-block span,.review-summary span{color:var(--muted);font-size:10px}.fact-grid b,.detail-block b,.review-summary b{font-size:13px}.readiness-list{display:grid;gap:1px;padding:12px 16px}.readiness-list>div{display:flex;min-height:38px;align-items:center;gap:9px;font-size:12px}.readiness-list span{display:grid;width:23px;height:23px;place-items:center;color:#fff;font-size:11px;border-radius:50%}.readiness-list .ready{background:var(--green)}.readiness-list .pending{background:var(--orange)}.project-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}.project-chip{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:5px 9px;padding:12px;border:1px solid var(--line-soft);border-radius:9px;background:#fbfcfe}.project-chip .weapon-mark{grid-row:span 2}.project-chip b{font-size:12px}.project-chip small{color:var(--muted);font-size:10px}.regulations-page{max-width:1420px}.regulation-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--line)}.regulation-flow>div{display:flex;min-height:58px;align-items:center;justify-content:center;gap:9px;padding:10px 13px;color:#48556a;font-size:11px;background:#fff}.regulation-flow>div span{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;color:var(--green);border-radius:50%;background:var(--green-soft)}.regulation-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.72fr);gap:16px;margin-bottom:16px}.regulation-template-summary,.regulation-release-card{min-height:230px}.template-source{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;padding:20px}.template-source>div,.release-version>div,.regulation-preview-title>div{display:grid;gap:5px}.template-source span,.template-source small,.release-version small,.regulation-preview-title small{color:var(--muted);font-size:10px}.template-source b{font-size:14px}.template-hero-icon,.template-picker-icon{display:grid;width:50px;height:50px;place-items:center;color:var(--blue);border-radius:13px;background:var(--blue-soft)}.template-hero-icon.large{width:62px;height:62px}.template-actions,.template-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px 18px}.release-version{display:flex;align-items:center;gap:12px;padding:17px 18px 10px}.release-version>span{display:grid;width:42px;height:42px;place-items:center;color:var(--green);border-radius:12px;background:var(--green-soft)}.release-version b{font-size:13px}.release-checks{display:grid;gap:8px;padding:5px 18px 16px}.release-checks span{display:flex;align-items:center;gap:7px;color:#425168;font-size:10px}.release-checks svg{color:var(--green)}.regulation-release-card>.primary-button{width:calc(100% - 36px);margin:0 18px 18px}.regulation-groups-panel{overflow:hidden}.regulation-group-head,.regulation-group-row{display:grid;grid-template-columns:78px minmax(180px,1.05fr) minmax(180px,1.05fr) minmax(150px,.85fr) minmax(230px,1.35fr) 24px;align-items:center;gap:10px}.regulation-group-head{min-height:38px;padding:0 16px;color:#8490a3;font-size:9px;font-weight:800;background:#f8fafc}.regulation-group-row{width:100%;min-height:84px;padding:12px 16px;text-align:left;border-top:1px solid var(--line-soft);background:#fff}.regulation-group-row:hover{background:#f8fbff}.regulation-group-row>span:not(.age-badge){display:grid;gap:5px}.regulation-group-row b{font-size:10px;line-height:1.4}.regulation-group-row small{color:var(--muted);font-size:9px;line-height:1.4}.regulation-group-row>svg{color:#9aa5b5}.age-badge{display:grid;width:52px;height:52px;place-items:center;color:var(--blue);font-size:15px;font-weight:850;border:1px solid #c9dcff;border-radius:14px;background:var(--blue-soft)}.age-badge.large{width:68px;height:68px;font-size:19px}.regulation-boundary,.template-library-note{margin-top:14px}.template-picker{display:grid;gap:8px;padding:18px 20px}.template-picker>button{display:grid;grid-template-columns:50px minmax(0,1fr) 22px;min-height:74px;align-items:center;gap:12px;padding:11px 13px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff}.template-picker>button.selected{color:var(--blue);border-color:#9fc1ff;background:#f7faff}.template-picker>button>span:nth-child(2){display:grid;gap:5px}.template-picker b{font-size:12px}.template-picker small{color:var(--muted);font-size:9px}.template-picker+.prototype-note{margin:0 20px 18px}.regulation-preview{display:grid;gap:16px;padding:22px 22px 6px}.regulation-preview-title{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}.regulation-preview-title svg{color:var(--blue)}.regulation-preview-title b{font-size:15px}.preview-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preview-facts span{display:grid;gap:4px;padding:12px;color:#4e5b71;font-size:10px;border:1px solid var(--line-soft);border-radius:8px;background:#fafbfd}.preview-facts b{color:var(--muted);font-size:9px}.regulation-drawer-hero{align-items:center}.weapon-mark{display:grid;width:34px;height:34px;place-items:center;color:var(--blue);border-radius:8px;background:var(--blue-soft)}.journey-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:20px}.journey-step{display:flex;align-items:center;gap:9px;font-size:11px}.journey-step>span{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;color:var(--blue);font-weight:800;border-radius:50%;background:var(--blue-soft)}.journey-step svg{margin-left:auto;color:#a5afbe}.registration-source-panel{margin-bottom:18px}.registration-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.registration-source-grid>button{display:flex;min-height:92px;align-items:center;gap:12px;padding:14px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff}.registration-source-grid>button:hover:not(:disabled),.registration-source-grid>button.selected{border-color:var(--blue);background:#f8fbff;box-shadow:0 8px 18px #1265ff14}.registration-source-grid>button.disabled{color:var(--muted);background:#f8f9fb}.registration-source-grid>button>span:nth-child(2){display:grid;flex:1;gap:4px}.registration-source-grid small{color:var(--muted);line-height:1.45}.registration-source-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--blue);border-radius:10px;background:var(--blue-soft)}.registration-source-icon.api{color:#6c778c;background:#edf0f5}.registration-source-icon.excel{color:#0c8a55;background:#e8f8ef}.registration-import-workbench{display:grid;gap:14px}.registration-mode-bar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:3px 2px}.registration-mode-bar h3,.registration-mode-bar p{margin:0}.registration-mode-bar h3{margin-top:4px;font-size:20px}.registration-mode-bar p{margin-top:5px;color:var(--muted);font-size:13px}.registration-import-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.registration-import-stepper>span{display:flex;min-height:48px;align-items:center;gap:9px;padding:8px 11px;color:var(--muted);font-size:13px;font-weight:750;border:1px solid var(--line);border-radius:10px;background:#fff}.registration-import-stepper b{display:grid;width:23px;height:23px;place-items:center;color:#fff;font-size:12px;border-radius:50%;background:#aab4c5}.registration-import-stepper .active{color:var(--blue-dark);border-color:#8eb8ff;background:var(--blue-soft)}.registration-import-stepper .active b{background:var(--blue)}.registration-import-stepper .done{color:var(--green);border-color:#a8dfbf;background:#f2fbf5}.registration-import-stepper .done b{background:var(--green)}.registration-import-card{display:grid;gap:16px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.registration-import-card h3,.registration-import-card p{margin:0}.registration-import-card p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.65}.template-field-list{display:flex;flex-wrap:wrap;gap:8px}.template-field-list span{padding:7px 9px;color:#334057;font-size:12px;font-weight:700;border:1px solid #d8e5f8;border-radius:7px;background:#f7faff}.registration-mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.registration-mapping-grid span,.registration-confirm-summary span{display:grid;gap:4px;padding:11px;border:1px solid var(--line-soft);border-radius:9px;background:#fbfcfe}.registration-mapping-grid small,.registration-confirm-summary span{color:var(--muted);font-size:12px}.registration-blocker-list{display:grid;gap:8px}.registration-blocker-list span{display:flex;align-items:center;gap:8px;padding:10px 12px;color:#b43232;font-size:13px;font-weight:700;border-radius:8px;background:var(--red-soft)}.registration-row-preview{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:10px}.registration-row-preview>div{display:grid;grid-template-columns:78px minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line-soft)}.registration-row-preview>div:last-child{border-bottom:0}.registration-row-preview small{color:var(--muted)}.registration-confirm-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.registration-confirm-summary b{color:var(--ink)}@media(max-width:1024px){.registration-source-grid,.registration-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-mode-bar{align-items:start;flex-direction:column}}@media(max-width:768px){.registration-source-grid,.registration-mapping-grid,.registration-confirm-summary{grid-template-columns:1fr}.registration-import-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-row-preview>div{grid-template-columns:70px minmax(0,1fr)}.registration-row-preview small,.registration-row-preview .status-pill{grid-column:2}}.freeze-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px}.checklist{display:grid}.checklist>div{display:grid;grid-template-columns:36px 1fr auto;min-height:58px;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line-soft)}.checklist>div:last-child{border-bottom:0}.checklist span{display:grid;width:28px;height:28px;place-items:center;color:var(--green);border-radius:50%;background:var(--green-soft)}.checklist b{font-size:12px}.checklist small{color:var(--green);font-size:10px}.freeze-visual{display:grid;place-items:center;padding:30px;text-align:center;border:1px solid #bcd4ff;border-radius:12px;background:linear-gradient(180deg,#f4f8ff,#fff)}.snow-orbit{display:grid;width:122px;height:122px;place-items:center;color:var(--blue);border:1px solid #b9d1ff;border-radius:50%;background:#fff;box-shadow:0 0 0 10px #1265ff0f}.snow-orbit span{font-size:12px;font-weight:800}.freeze-visual h3{margin:18px 0 4px}.freeze-visual p{margin:0 0 18px;color:var(--muted);font-size:11px}.prototype-note{display:flex;align-items:flex-start;gap:8px;padding:11px 12px;color:#5b6780;font-size:11px;line-height:1.45;border:1px solid #d6e2f6;border-radius:8px;background:#f5f8fd}.schedule-summary{display:grid;grid-template-columns:repeat(5,1fr);margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.schedule-summary span{display:grid;gap:4px;padding:13px;color:var(--muted);font-size:10px;text-align:center;border-right:1px solid var(--line-soft)}.schedule-summary span:last-child{border-right:0}.schedule-summary b{color:var(--ink);font-size:15px}.inline-alerts{display:flex;gap:7px}.timeline-board{padding:12px 16px 18px}.time-axis{display:grid;grid-template-columns:repeat(6,1fr);margin-left:58px;padding:0 4px 7px;color:#8a96a8;font-size:9px}.timeline-row{display:grid;grid-template-columns:52px 1fr;min-height:44px;align-items:center;border-top:1px solid var(--line-soft)}.timeline-row>b{color:#566277;font-size:10px}.timeline-track{position:relative;height:28px;border-radius:5px;background:linear-gradient(90deg,transparent 16.6%,#e6ebf2 16.7%,transparent 16.8%,transparent 33.2%,#e6ebf2 33.3%,transparent 33.4%,transparent 49.9%,#e6ebf2 50%,transparent 50.1%,transparent 66.5%,#e6ebf2 66.6%,transparent 66.7%,transparent 83.2%,#e6ebf2 83.3%,transparent 83.4%),#f7f9fc}.timeline-block{position:absolute;top:4px;height:20px;overflow:hidden;padding:4px 7px;color:#fff;font-size:9px;font-weight:700;white-space:nowrap;border-radius:4px}.timeline-block.color-0{background:#1d69ec}.timeline-block.color-1{background:#5e77a8}.timeline-block.color-2{background:#14a073}.schedule-workbench-page{padding-top:24px}.schedule-workbench-page .page-header{margin-bottom:18px}.schedule-source-tabs{display:grid;grid-template-columns:minmax(230px,1fr) minmax(230px,1fr) 1.5fr;gap:14px;margin:0 0 18px;border-bottom:1px solid var(--line)}.schedule-source-tabs button{display:flex;min-height:84px;align-items:center;gap:13px;padding:15px 18px;color:#27364e;text-align:left;border:1px solid var(--line);border-bottom:3px solid transparent;border-radius:10px 10px 0 0;background:#fff}.schedule-source-tabs button.active{color:var(--blue-dark);border-color:#90b7ff;border-bottom-color:var(--blue);background:#f7faff;box-shadow:0 6px 16px #1265ff12}.schedule-source-tabs span,.schedule-source-tabs small{display:grid;gap:4px}.schedule-source-tabs b{font-size:16px}.schedule-source-tabs small{color:var(--muted);font-size:11px;font-weight:500}.import-flow-panel{display:grid;gap:16px;max-width:760px;padding:24px}.import-flow-panel h3,.import-flow-panel p{margin:0}.import-flow-panel p{color:var(--muted);font-size:13px;line-height:1.65}.import-stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.import-stepper span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.import-stepper b{display:grid;width:26px;height:26px;place-items:center;color:#637188;border-radius:50%;background:#edf1f7}.import-stepper .active{color:var(--blue-dark)}.import-stepper .active b{color:#fff;background:var(--blue)}.schedule-workbench{display:grid;grid-template-columns:176px minmax(580px,1fr) 188px;gap:14px;align-items:start}.schedule-config{display:grid;gap:16px;padding:16px 14px}.schedule-config h3{margin:4px 0 0;font-size:15px;line-height:1.35}.config-block{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.config-block>span{color:var(--muted);font-size:11px;font-weight:700}.config-block button{display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:center;padding:9px;color:#526079;font-size:11px;font-weight:700;text-align:left;border:1px solid transparent;border-radius:7px;background:transparent}.config-block button small{grid-column:2;color:var(--muted);font-size:10px;font-weight:500;line-height:1.35}.config-block button.selected{color:var(--blue-dark);border-color:#9cc1ff;background:#f3f7ff}.config-facts{display:grid;gap:8px;color:#4d5d73;font-size:11px}.config-facts span{display:flex;align-items:center;gap:7px}.config-facts svg{color:var(--blue)}.replan-suggestion{display:grid;gap:5px;padding:11px;border:1px solid #f2d3a4;border-radius:8px;background:#fffaf2}.replan-suggestion b{color:#a85b00;font-size:11px}.replan-suggestion small{color:#8f6d43;font-size:10px;line-height:1.4}.replan-suggestion .text-button{justify-content:flex-start;min-height:24px;font-size:10px}.schedule-gantt{min-width:0;overflow:hidden}.gantt-toolbar{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.gantt-toolbar>div{display:flex;gap:4px;padding-right:10px;border-right:1px solid var(--line)}.gantt-toolbar>div button{min-height:32px;padding:6px 9px;color:var(--muted);font-size:11px;font-weight:750;border-radius:6px;background:transparent}.gantt-toolbar>div button.active{color:#fff;background:var(--blue)}.gantt-toolbar>span{margin-left:auto;color:var(--blue);font-size:10px;font-weight:700;white-space:nowrap}.gantt-axis{display:grid;grid-template-columns:78px repeat(12,minmax(50px,1fr));min-width:760px;padding:12px 12px 8px;color:#58667b;font-size:9px;font-weight:700}.gantt-axis span:not(:first-child){text-align:center}.gantt-row{display:grid;grid-template-columns:78px 1fr;min-width:760px;min-height:58px;border-top:1px solid var(--line-soft)}.gantt-row>b{display:flex;align-items:center;padding-left:12px;color:#435168;font-size:11px}.gantt-track{position:relative;min-width:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(8.333% - 1px),#eef1f5 calc(8.333% - 1px),#eef1f5 8.333%)}.gantt-track:after{position:absolute;top:0;bottom:0;left:53%;width:2px;content:"";background:repeating-linear-gradient(#1b6cff 0 5px,transparent 5px 9px)}.gantt-event{position:absolute;z-index:1;top:11px;display:grid;min-height:37px;align-content:center;padding:4px 7px;font-size:10px;font-weight:750;line-height:1.2;border:1px solid;border-radius:5px}.gantt-event small{margin-top:2px;font-size:9px;font-weight:550}.gantt-event.blue{color:#1d54b7;border-color:#9cc2ff;background:#edf5ff}.gantt-event.orange{color:#a95d00;border-color:#f2bd58;background:#fff8e8}.gantt-event.green{color:#277448;border-color:#a7d7b2;background:#edf9ef}.gantt-event.conflict{color:#b92e2e;border-color:#ff9f9f;background:#fff0f0}.gantt-event.conflict:after{position:absolute;right:5px;top:7px;width:12px;height:12px;content:"!";color:#fff;font-size:9px;line-height:12px;text-align:center;border-radius:50%;background:var(--red)}.start-0{left:1%;width:18%}.mid-0{left:20%;width:18%}.late-0{left:39%;width:20%}.start-1{left:1%;width:18%}.mid-1{left:20%;width:18%}.late-1{left:39%;width:18%}.start-2{left:10%;width:18%}.mid-2{left:39%;width:16%}.late-2{left:56%;width:18%}.f-one{left:13%;width:21%}.f-two{left:39%;width:22%}.gantt-track em{position:absolute;top:22px;left:46%;color:#9aa5b7;font-size:10px;font-style:normal}.schedule-candidate{display:grid;gap:12px;padding:15px 13px}.candidate-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.candidate-heading h3{margin:3px 0 0;font-size:17px}.candidate-heading .status-pill{padding-inline:7px}.diff-button{justify-content:flex-start;min-height:26px;font-size:11px}.schedule-candidate dl{display:grid;gap:7px;margin:0;padding:11px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.schedule-candidate dl div{display:grid;gap:2px}.schedule-candidate dt{color:var(--muted);font-size:10px}.schedule-candidate dd{margin:0;color:#314057;font-size:11px;font-weight:700;overflow-wrap:anywhere}.candidate-checks{display:grid;gap:7px;color:#3f5066;font-size:10px}.candidate-checks b{font-size:11px}.candidate-checks span{display:flex;align-items:center;gap:6px}.candidate-checks svg{color:var(--blue)}.candidate-checks .warning{color:#b65e00}.candidate-checks .warning svg{color:var(--orange)}.candidate-checks .passed{color:var(--green)}.candidate-checks .passed svg{color:var(--green)}.candidate-lock{color:#748095;font-size:10px;line-height:1.45;text-align:center}.schedule-diff,.schedule-manual{display:flex;align-items:center;gap:18px;margin-top:14px;padding:15px 18px}.schedule-diff h3,.schedule-manual h3{margin:3px 0 0;font-size:15px}.schedule-diff>span,.schedule-manual p{color:#48586f;font-size:11px;line-height:1.5}.schedule-diff small{display:block;color:var(--muted)}.schedule-manual p{margin:0}.schedule-manual .secondary-button{margin-left:auto;white-space:nowrap}.summary-chip{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:8px 11px;color:#546075;font-size:11px;border:1px solid var(--line);border-radius:7px;background:#fff}.summary-chip.orange svg,.summary-chip.orange b{color:var(--orange)}.execution-page .page-header{margin-bottom:12px}.execution-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;border-bottom:1px solid var(--line)}.filter-group{display:inline-flex;align-items:center;gap:2px}.filter-group b{color:#5f6c81;font-size:10px}.filter-group button{min-height:27px;padding:5px 8px;color:#566277;font-size:10px;border-radius:5px;background:transparent}.filter-group button.active{color:var(--blue);font-weight:750;box-shadow:inset 0 0 0 1px #8db4ff;background:#f5f8ff}.reset-filter{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:#778398;font-size:10px;background:transparent}.project-count{padding:9px 2px;color:#8c97a8;font-size:10px;text-align:right}.project-table{border-top:1px solid var(--line)}.project-table-head,.project-row{display:grid;grid-template-columns:minmax(215px,1.6fr) minmax(115px,.9fr) minmax(135px,1fr) minmax(125px,.95fr) minmax(105px,.8fr) 54px;align-items:center}.project-table-head{min-height:38px;padding:0 10px;color:#667288;font-size:10px;background:#fafbfd;border-bottom:1px solid var(--line)}.project-row{width:100%;min-height:70px;padding:5px 10px;text-align:left;border-bottom:1px solid var(--line-soft);background:#fff}.project-row:hover{background:#f8faff}.project-row>span{min-width:0;height:48px;align-items:center;padding:0 12px;border-right:1px solid var(--line-soft)}.project-row>span:first-child{padding-left:0}.project-row>span:last-child{border-right:0}.project-name,.progress-cell,.next-cell{display:flex;gap:10px}.project-name b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.blade{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;color:var(--blue);border-radius:8px;background:#edf4ff}.blade-1{color:var(--purple);background:var(--purple-soft)}.blade-2{color:var(--orange);background:var(--orange-soft)}.stage-status,.progress-cell>span,.next-cell>span,.staff-cell{display:grid;gap:4px}.stage-status{grid-template-columns:21px 1fr;align-items:center}.stage-status i{grid-row:span 2;display:grid;width:20px;height:20px;place-items:center}.stage-status i.blue,.stage-status small.blue{color:var(--blue)}.stage-status i.orange,.stage-status small.orange{color:var(--orange)}.stage-status i.green,.stage-status small.green{color:var(--green)}.stage-status b,.progress-cell b,.next-cell b,.staff-cell>b{font-size:11px}.stage-status small,.progress-cell small,.next-cell small{color:var(--muted);font-size:9px}.progress-cell .progress-ring{width:50px;height:50px}.progress-cell .progress-ring span{font-size:10px}.next-cell>svg{color:#33415c}.staff-cell span{display:flex;gap:2px}.staff-cell i{width:6px;height:11px;border-radius:3px;background:#d9dee7}.staff-cell i.ready{background:#26334b}.anomaly-cell{display:grid;place-items:center;color:#8e98a8}.anomaly-cell svg:first-child{color:var(--red)}.project-row:has(.anomaly-cell svg) .anomaly-cell svg:last-child{color:var(--green)}.registration-panel{overflow:hidden}.data-table{overflow-x:auto}.data-table-head,.data-row{display:grid;min-width:880px;grid-template-columns:145px 170px minmax(220px,1fr) 90px 100px 100px;align-items:center}.data-table-head{min-height:40px;padding:0 16px;color:#69758a;font-size:10px;background:#f8fafc}.data-row{width:100%;min-height:61px;padding:7px 16px;text-align:left;border-top:1px solid var(--line-soft);background:#fff}.data-row:hover{background:#f8faff}.data-row>span{display:grid;gap:3px;min-width:0;padding-right:12px;font-size:11px}.data-row b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.data-row small{color:var(--muted);font-size:9px}.people-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px}.people-list{overflow:hidden}.people-table-head,.people-row{display:grid;grid-template-columns:42px minmax(130px,1fr) 110px minmax(170px,1.2fr) 58px 120px;align-items:center}.people-table-head{min-height:40px;padding:0 14px;color:var(--muted);font-size:10px;background:#f8fafc}.people-table-head span:first-child{grid-column:1 / span 2}.people-row{width:100%;min-height:62px;padding:8px 14px;text-align:left;border-top:1px solid var(--line-soft);background:#fff}.people-row:hover,.people-row.selected{background:#f4f8ff}.people-row.selected{box-shadow:inset 3px 0 var(--blue)}.people-row>span:nth-child(2){display:grid;gap:2px}.people-row b{font-size:12px}.people-row small{color:var(--muted);font-size:9px}.people-row>span:not(.avatar):not(.status-pill){font-size:11px}.avatar{display:grid;width:34px;height:34px;place-items:center;color:#16408f;font-size:12px;font-weight:800;border-radius:50%;background:#dfeaff}.avatar-1{color:#78521e;background:#ffebca}.avatar-2{color:#1d7042;background:#dff6e9}.avatar-3{color:#6a45a8;background:#eee4ff}.avatar.large{width:50px;height:50px;font-size:16px}.person-detail,.permission-aside{min-height:380px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.person-detail-head{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.person-detail-head h3{margin:0 0 4px}.person-detail-head p{margin:0;color:var(--muted);font-size:11px}.detail-block{padding:16px 0;border-bottom:1px solid var(--line-soft)}.detail-block small{color:var(--muted);font-size:10px}.person-detail .secondary-button{margin-top:18px}.section-tabs{margin-bottom:16px}.finance-layout,.reports-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;margin-bottom:16px}.finance-chart{display:flex;height:230px;align-items:flex-end;justify-content:space-between;gap:8px;padding:24px 24px 34px}.finance-chart i{position:relative;width:100%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#72a8ff,#1969ed)}.finance-chart i span{position:absolute;top:calc(100% + 8px);left:50%;color:#8d98a9;font-size:8px;font-style:normal;white-space:nowrap;transform:translate(-50%)}.finance-ranking{display:grid;padding:9px 16px 14px}.finance-ranking>div{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:10px;min-height:50px}.finance-ranking>div>span{display:grid;width:22px;height:22px;place-items:center;color:#5d6b81;font-size:10px;border-radius:6px;background:#eef1f6}.finance-ranking>div>div{display:grid;gap:6px}.finance-ranking b,.finance-ranking strong{font-size:11px}.finance-ranking i{width:100%;height:5px;overflow:hidden;border-radius:4px;background:#e9edf3}.finance-ranking em{display:block;height:100%;border-radius:inherit;background:var(--blue)}.finance-records{display:grid}.finance-records>div{display:grid;grid-template-columns:42px minmax(150px,1fr) minmax(120px,.8fr) 110px 100px;min-height:58px;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--line-soft)}.finance-records>div:first-child{border-top:0}.finance-records>div>span:nth-child(2){display:grid;gap:3px}.finance-records b,.finance-records strong{font-size:11px}.finance-records small{color:var(--muted);font-size:9px}.record-icon{display:grid;width:34px;height:34px;place-items:center;color:var(--blue);border-radius:8px;background:var(--blue-soft)}.report-filter-bar{display:flex;gap:10px;margin-bottom:16px}.report-filter-bar button{display:inline-flex;min-height:38px;align-items:center;gap:7px;padding:8px 12px;color:#4f5d73;font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:8px;background:#fff}.line-chart{padding:8px 14px 14px}.line-chart svg{width:100%;height:260px}.line-chart line{stroke:#e8ecf2;stroke-width:1}.chart-line{fill:none;stroke:var(--blue);stroke-width:4;stroke-linecap:round}.chart-area{fill:url(#chartFill)}.chart-labels{display:flex;justify-content:space-around;color:#8b96a8;font-size:9px}.donut-card{display:grid;place-items:center;gap:22px;padding:28px}.donut{display:grid;width:150px;height:150px;place-items:center;border-radius:50%;background:conic-gradient(var(--blue) 0 44%,var(--green) 44% 61%,var(--orange) 61% 83%,#aeb7c5 83%)}.donut:before{position:absolute;width:102px;height:102px;content:"";border-radius:50%;background:#fff}.donut>span{position:relative;z-index:1;display:grid;color:var(--muted);font-size:10px;text-align:center}.donut b{color:var(--ink);font-size:25px}.donut-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 18px}.donut-legend span{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;color:var(--muted);font-size:10px}.donut-legend i{width:8px;height:8px;border-radius:50%}.donut-legend i.blue{background:var(--blue)}.donut-legend i.green{background:var(--green)}.donut-legend i.orange{background:var(--orange)}.donut-legend i.gray{background:#aeb7c5}.permissions-page{max-width:1320px}.system-page{max-width:1420px}.system-section-tabs{display:flex;gap:7px;margin-bottom:16px;padding:6px;border:1px solid var(--line);border-radius:11px;background:#fff}.system-section-tabs button{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:8px 16px;color:#5d697d;font-size:12px;font-weight:750;border-radius:8px;background:transparent}.system-section-tabs button.active{color:var(--blue);background:var(--blue-soft)}.template-library-stats{margin-top:0}.template-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px}.template-library-card{display:flex;min-height:300px;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:11px;background:#fff}.template-card-head{display:flex;align-items:flex-start;justify-content:space-between}.template-library-card h3{margin:17px 0 6px;font-size:15px}.template-library-card>p{min-height:32px;margin:0 0 13px;color:var(--muted);font-size:10px;line-height:1.5}.template-group-tags{display:flex;flex-wrap:wrap;gap:6px}.template-group-tags span{padding:5px 8px;color:var(--blue-dark);font-size:9px;font-weight:800;border-radius:999px;background:var(--blue-soft)}.template-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:15px;padding:12px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.template-meta span{display:grid;gap:3px;color:var(--muted);font-size:8px}.template-meta b{color:var(--ink);font-size:9px}.template-card-actions{margin-top:auto;padding:14px 0 0}.permission-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:var(--line)}.permission-steps button{display:flex;min-height:58px;align-items:center;justify-content:center;gap:9px;font-size:11px;background:#fff}.permission-steps button span{display:grid;width:27px;height:27px;place-items:center;color:#657186;border-radius:50%;background:#edf0f4}.permission-steps button.active{color:var(--blue);background:#f5f8ff}.permission-steps button.active span{color:#fff;background:var(--blue)}.permission-steps button.done span{color:var(--green);background:var(--green-soft)}.permission-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:16px}.permission-main{min-height:520px}.permission-main>.search-field,.permission-main>.person-select-card,.scope-options,.select-field,.capability-grid,.review-summary,.approval-check,.permission-main>.prototype-note,.danger-zone.compact-zone{margin-right:20px;margin-left:20px}.permission-main>.search-field{margin-top:20px}.person-select-card{display:grid;width:calc(100% - 40px);grid-template-columns:52px minmax(0,1fr) auto 24px;min-height:75px;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;text-align:left;border:1px solid #a9c6ff;border-radius:10px;background:#f5f8ff}.person-select-card>span:nth-child(2){display:grid;gap:4px}.person-select-card b{font-size:13px}.person-select-card small{color:var(--muted);font-size:10px}.person-select-card>svg{color:var(--blue)}.scope-options{display:grid;gap:10px;margin-top:20px}.scope-options>button{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;min-height:72px;align-items:center;gap:10px;padding:10px 14px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff}.scope-options>button:hover,.scope-options>button.selected{border-color:#9dbfff;background:#f6f9ff}.scope-options>button.selected.risk{border-color:#ffc57e;background:#fff9f0}.scope-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--blue);border-radius:10px;background:var(--blue-soft)}.scope-options button>span:nth-child(2){display:grid;gap:4px}.scope-options b{font-size:12px}.scope-options small{color:var(--muted);font-size:10px}.scope-options button>svg{color:var(--blue)}.scope-options button.risk>svg{color:var(--orange)}.select-field{display:grid;gap:7px;margin-top:16px}.select-field>span{color:var(--muted);font-size:10px;font-weight:700}.select-field button{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:9px 12px;font-size:12px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff}.select-field small{display:flex;align-items:center;gap:5px;color:var(--green);font-size:10px}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.capability-grid button{display:grid;grid-template-columns:24px 1fr;min-height:62px;align-items:center;gap:3px 8px;padding:9px 11px;text-align:left;border:1px solid var(--line);border-radius:9px;background:#fff}.capability-grid button.selected{border-color:#9ec0ff;background:#f5f8ff}.capability-grid button>span{grid-row:span 2;display:grid;width:21px;height:21px;place-items:center;color:#fff;border:1px solid #c8d0dc;border-radius:5px}.capability-grid button.selected>span{border-color:var(--blue);background:var(--blue)}.capability-grid b{font-size:11px}.capability-grid small{color:var(--muted);font-size:9px}.permission-main>.prototype-note{margin-top:14px}.review-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.review-summary>div{min-height:76px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafbfd}.review-summary small{color:var(--muted);font-size:9px;line-height:1.4}.approval-check{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border:1px solid #ffd29b;border-radius:8px;background:#fff9f0}.approval-check input{width:17px;height:17px;accent-color:var(--blue)}.approval-check span{display:grid;gap:4px}.approval-check b{font-size:11px}.approval-check small{color:var(--muted);font-size:9px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid #ffd1d1;border-radius:10px;background:#fff8f8}.danger-zone>div{display:flex;align-items:center;gap:10px}.danger-zone>div>svg{color:var(--red)}.danger-zone>div>span{display:grid;gap:3px}.danger-zone b{font-size:12px}.danger-zone small{color:var(--muted);font-size:10px}.wizard-actions{display:flex;justify-content:space-between;margin:20px;padding-top:18px;border-top:1px solid var(--line-soft)}.permission-aside{color:#fff;background:linear-gradient(160deg,#0d3f7f,#061f47)}.shield-graphic{display:grid;width:72px;height:72px;place-items:center;margin:5px 0 18px;color:#91bdff;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#ffffff14}.permission-aside h3{margin:0 0 20px}.guard-stack{display:grid;gap:7px}.guard-stack span{display:flex;align-items:center;gap:7px;padding:10px;color:#9eb4d2;font-size:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px}.guard-stack span.passed{color:#fff;border-color:#69cb9752;background:#15944733}.guard-stack i{color:#86a3cb;font-style:normal;text-align:center}.permission-aside p{margin:20px 0 0;color:#afc4df;font-size:10px;line-height:1.6}.publish-hero{display:flex;align-items:center;gap:18px;margin-bottom:16px;padding:20px;border:1px solid #d9e3f3;border-radius:12px;background:linear-gradient(120deg,#f4f8ff,#fff)}.publish-icon{display:grid;width:64px;height:64px;place-items:center;color:var(--blue);border-radius:16px;background:var(--blue-soft)}.publish-hero h2{margin:0 0 5px;font-size:20px}.publish-hero p{margin:0;color:var(--muted);font-size:11px}.publish-gates{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.publish-gates>div{display:grid;grid-template-columns:32px 1fr;min-height:85px;align-content:center;gap:4px 8px;padding:12px;border-right:1px solid var(--line-soft)}.publish-gates>div:last-child{border-right:0}.publish-gates span{grid-row:span 2;display:grid;width:30px;height:30px;place-items:center;border-radius:50%}.publish-gates span.passed{color:var(--green);background:var(--green-soft)}.publish-gates span.blocked{color:var(--orange);background:var(--orange-soft)}.publish-gates b{font-size:11px}.publish-gates small{color:var(--muted);font-size:9px}.overlay{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#05122759;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay.centered{align-items:center;justify-content:center}.message-drawer,.detail-drawer{width:min(430px,96vw);height:100%;overflow-y:auto;background:#fff;box-shadow:-18px 0 50px #0318362e;animation:slide-in .18s ease-out}.detail-drawer{width:min(440px,96vw);padding-bottom:24px}@keyframes slide-in{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.drawer-header h2{display:flex;align-items:center;gap:8px;margin:2px 0 0;font-size:19px}.drawer-header h2 b{display:grid;min-width:23px;height:23px;place-items:center;color:#fff;font-size:10px;border-radius:50%;background:#f5222d}.message-tabs{margin:14px 20px}.message-list{display:grid}.message-item{position:relative;display:grid;width:100%;grid-template-columns:38px 1fr auto;min-height:74px;align-items:center;gap:11px;padding:10px 20px;text-align:left;border-top:1px solid var(--line-soft);background:#fff}.message-item.unread{background:#f7faff}.message-item.unread:before{position:absolute;top:18px;left:8px;width:5px;height:5px;content:"";border-radius:50%;background:var(--blue)}.message-item:hover{background:#f3f7fd}.message-item>span:nth-child(2){display:grid;gap:5px}.message-item b{font-size:12px}.message-item small{color:var(--muted);font-size:9px}.message-kind{display:grid;width:36px;height:36px;place-items:center;color:var(--blue);border-radius:9px;background:var(--blue-soft)}.message-kind.warning{color:var(--orange);background:var(--orange-soft)}.message-kind.finance{color:var(--purple);background:var(--purple-soft)}.message-kind.success{color:var(--green);background:var(--green-soft)}.message-footer{padding:18px 20px}.message-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.message-toolbar .section-tabs{margin-bottom:0}.message-toolbar .search-field{width:min(320px,100%)}.message-workbench{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.65fr);gap:16px}.message-workbench-list{overflow:hidden}.message-center-list{display:grid}.message-center-row{position:relative;display:grid;width:100%;min-height:70px;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:10px 16px;text-align:left;border-top:1px solid var(--line-soft);background:#fff}.message-center-row:first-child{border-top:0}.message-center-row:hover,.message-center-row.selected{background:#f5f8ff}.message-center-row.selected{box-shadow:inset 3px 0 var(--blue)}.message-center-row.unread:before{position:absolute;top:17px;left:7px;width:5px;height:5px;content:"";border-radius:50%;background:var(--blue)}.message-center-row>span:nth-child(2){display:grid;gap:5px}.message-center-row b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.message-center-row small{color:var(--muted);font-size:9px}.message-center-row>i{width:7px;height:7px;justify-self:center;border-radius:50%;background:var(--blue)}.message-center-row>svg{color:#9aa5b6}.message-detail-panel{min-height:470px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.message-detail-head{display:flex;align-items:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.message-detail-head>div{display:grid;gap:6px;min-width:0}.message-detail-head h3{margin:2px 0 0;font-size:17px;line-height:1.45}.message-detail-head p{margin:0;color:var(--muted);font-size:10px}.message-detail-body{display:grid;gap:15px;padding:20px 0}.message-detail-body>div{display:grid;gap:5px}.message-detail-body span{color:var(--muted);font-size:10px}.message-detail-body b{font-size:12px;line-height:1.45}.message-detail-panel .prototype-note{margin-bottom:18px}.notification-center-page{max-width:1540px}.notification-tabs{display:flex;align-items:center;gap:34px;margin:-2px 0 16px;border-bottom:1px solid var(--line)}.notification-tabs button{position:relative;min-height:45px;padding:0 2px;color:#536076;font-size:12px;font-weight:760}.notification-tabs button.active{color:var(--blue)}.notification-tabs button.active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;content:"";border-radius:3px 3px 0 0;background:var(--blue)}.notification-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.notification-metrics .stat-card{min-height:86px}.notification-layout{display:grid;min-width:0}.notification-layout.with-create-panel{grid-template-columns:minmax(0,1fr) minmax(390px,.42fr);align-items:start;gap:16px}.notification-main-view,.notification-workbench{min-width:0}.notification-task-panel,.notification-delivery-panel{overflow-x:auto}.notification-table-head,.notification-task-row{display:grid;min-width:850px;grid-template-columns:minmax(230px,1.55fr) minmax(135px,.9fr) minmax(190px,1.18fr) minmax(125px,.78fr) 86px;align-items:center;gap:12px}.notification-table-head{min-height:42px;padding:0 16px;color:#758196;font-size:9px;font-weight:760;background:#f8fafc}.notification-task-row{position:relative;width:100%;min-height:70px;padding:9px 16px;text-align:left;border-top:1px solid var(--line-soft);background:#fff}.notification-task-row:hover,.notification-task-row.selected{background:#f7faff}.notification-task-row.selected{box-shadow:inset 3px 0 var(--blue)}.notification-task-row>span:not(.status-pill),.notification-task-name>span{display:grid;min-width:0;gap:4px}.notification-task-row b{overflow:hidden;color:#26344a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.notification-task-row small{color:var(--muted);font-size:8px;line-height:1.35}.notification-task-name{display:flex!important;align-items:center;gap:10px!important}.notification-task-name>i{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;color:var(--blue);border-radius:9px;background:var(--blue-soft)}.notification-task-name>i.orange{color:var(--orange);background:var(--orange-soft)}.notification-task-name>i.red{color:var(--red);background:var(--red-soft)}.notification-task-name>i.green{color:var(--green);background:var(--green-soft)}.notification-table-footer{display:flex;min-width:850px;min-height:50px;align-items:center;justify-content:space-between;padding:0 16px;color:var(--muted);font-size:9px;border-top:1px solid var(--line)}.notification-create-panel{position:sticky;top:82px;min-height:610px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 28px #0f2d580f}.notification-create-head{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line-soft)}.notification-create-head>div{display:grid;gap:3px}.notification-create-head span{color:var(--muted);font-size:9px}.notification-create-head h2{margin:0;font-size:18px}.notification-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:16px 14px 14px;border-bottom:1px solid var(--line-soft)}.notification-stepper button{position:relative;display:grid;justify-items:center;gap:6px;color:#8b95a5}.notification-stepper button:not(:last-child):after{position:absolute;top:13px;left:calc(50% + 18px);width:calc(100% - 36px);height:1px;content:"";background:#dbe1ea}.notification-stepper button>span{z-index:1;display:grid;width:27px;height:27px;place-items:center;font-size:10px;font-weight:850;border-radius:50%;background:#edf0f5}.notification-stepper button b{font-size:8px;white-space:nowrap}.notification-stepper button.active,.notification-stepper button.done{color:var(--blue)}.notification-stepper button.active>span,.notification-stepper button.done>span{color:#fff;background:var(--blue)}.notification-step-body{display:grid;gap:16px;padding:18px}.notification-field{display:grid;gap:8px}.notification-field>span{color:#536176;font-size:9px;font-weight:780}.notification-field select{width:100%;height:44px;padding:0 12px;color:#26344a;font:inherit;font-size:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.audience-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audience-options>button{display:grid;min-height:112px;place-items:center;gap:5px;padding:12px 9px;color:#657187;text-align:center;border:1px solid var(--line);border-radius:9px;background:#fff}.audience-options>button.selected{color:var(--blue);border-color:#6ea3ff;box-shadow:inset 0 0 0 1px #6ea3ff;background:#f7faff}.audience-options b{color:#28364c;font-size:11px}.audience-options small{color:var(--muted);font-size:8px;line-height:1.45}.scope-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scope-options button{min-height:40px;padding:7px;color:#556177;font-size:9px;font-weight:750;border:1px solid var(--line);border-radius:8px;background:#fff}.scope-options button.selected{color:var(--blue);border-color:#7eaaff;background:var(--blue-soft)}.template-choice-list{display:grid;gap:8px}.template-choice-list>button{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;min-height:65px;align-items:center;gap:9px;padding:9px 10px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fff}.template-choice-list>button.selected{border-color:#79a9ff;background:#f6f9ff}.template-choice-list>button>span:first-child{display:grid;width:34px;height:34px;place-items:center;color:var(--blue);border-radius:8px;background:var(--blue-soft)}.template-choice-list>button>span:nth-child(2){display:grid;gap:4px}.template-choice-list b{font-size:10px}.template-choice-list small{color:var(--muted);font-size:8px}.notification-preview{display:grid;gap:14px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fafcff}.notification-preview>div{display:flex;align-items:center;gap:10px}.notification-preview>div>span:last-child{display:grid;gap:4px}.notification-preview b{font-size:11px}.notification-preview small,.notification-preview p,.notification-preview li{color:var(--muted);font-size:9px;line-height:1.55}.notification-preview p{margin:0;padding:12px;color:#334057;border-radius:7px;background:#fff}.notification-preview ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.notification-preview li{display:flex;align-items:center;gap:6px}.notification-preview li svg{color:var(--green)}.send-mode-options{display:grid;gap:9px}.send-mode-options>button{display:flex;min-height:68px;align-items:center;gap:12px;padding:12px;text-align:left;border:1px solid var(--line);border-radius:9px;background:#fff}.send-mode-options>button.selected{color:var(--blue);border-color:#7eaaff;background:#f7faff}.send-mode-options span{display:grid;gap:4px}.send-mode-options b{color:#2a374d;font-size:11px}.send-mode-options small{color:var(--muted);font-size:8px}.notification-guard{display:flex;align-items:center;gap:7px;padding:10px;color:#43618f;font-size:8px;line-height:1.4;border:1px solid #c9dbff;border-radius:7px;background:#f4f8ff}.notification-step-actions{display:flex;justify-content:space-between;gap:10px}.notification-step-actions>button{flex:1}.notification-created{display:grid;min-height:390px;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center}.notification-created>span{display:grid;width:62px;height:62px;place-items:center;color:var(--green);border-radius:50%;background:var(--green-soft)}.notification-created h3{margin:4px 0 0}.notification-created p{max-width:250px;margin:0 0 8px;color:var(--muted);font-size:10px;line-height:1.55}.notification-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.notification-template-card{display:grid;min-height:260px;align-content:start;gap:14px;padding:18px;border:1px solid var(--line);border-radius:11px;background:#fff}.notification-template-card>div{display:grid;gap:7px}.notification-template-card h3{margin:0;font-size:14px}.notification-template-card p{margin:0;color:var(--muted);font-size:9px}.notification-template-card dl{display:grid;gap:6px;margin:0;padding:12px;border-radius:8px;background:#f7f9fc}.notification-template-card dt{color:var(--muted);font-size:8px}.notification-template-card dd{margin:0;color:#3d4b61;font-size:9px;line-height:1.5}.notification-template-card .secondary-button{margin-top:auto}.notification-delivery-head,.notification-delivery-row{display:grid;min-width:760px;grid-template-columns:minmax(270px,1.7fr) repeat(4,80px) 100px;align-items:center;gap:10px}.notification-delivery-head{min-height:42px;padding:0 16px;color:var(--muted);font-size:9px;font-weight:760;background:#f8fafc}.notification-delivery-row{min-height:62px;padding:9px 16px;color:#354359;font-size:10px;border-top:1px solid var(--line-soft)}.notification-delivery-panel .prototype-note{min-width:760px;margin:16px}.notification-rules-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px}.notification-rule-list{overflow:hidden}.notification-rule-list>button{display:grid;width:100%;grid-template-columns:40px minmax(0,1fr) auto;min-height:76px;align-items:center;gap:11px;padding:10px 16px;text-align:left;border-top:1px solid var(--line-soft);background:#fff}.notification-rule-list>button:first-child{border-top:0}.notification-rule-list>button.selected{background:#f5f8ff;box-shadow:inset 3px 0 var(--blue)}.notification-rule-list>button>span:first-child{display:grid;width:38px;height:38px;place-items:center;color:var(--blue);border-radius:9px;background:var(--blue-soft)}.notification-rule-list>button>span:nth-child(2){display:grid;gap:5px}.notification-rule-list b{font-size:11px}.notification-rule-list small{color:var(--muted);font-size:8px;line-height:1.4}.notification-rule-detail{min-height:330px;padding:20px;border:1px solid var(--line);border-radius:11px;background:#fff}.notification-rule-detail h3{margin:14px 0 8px;font-size:16px}.notification-rule-detail>p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.modal{width:min(600px,92vw);max-height:90vh;overflow-y:auto;border-radius:14px;background:#fff;box-shadow:0 24px 80px #0318363d}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:20px}.form-grid label{display:grid;gap:7px}.form-grid .span-2{grid-column:span 2}.form-grid label>span{color:#5f6b80;font-size:10px;font-weight:700}.form-grid input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;outline:none}.modal>.prototype-note{margin:0 20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:18px 20px}.drawer-hero{display:flex;align-items:center;gap:18px;padding:20px;background:#f7faff;border-bottom:1px solid var(--line)}.drawer-hero>div:last-child{display:grid;gap:5px}.drawer-hero h3,.drawer-hero p{margin:0}.drawer-hero p{color:var(--muted);font-size:10px}.drawer-facts{padding:20px}.detail-drawer>.primary-button{width:calc(100% - 40px);margin:0 20px}.empty-hint{display:grid;min-height:280px;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.empty-hint strong{color:var(--ink);font-size:14px}.empty-hint>span{font-size:11px}.empty-icon{display:grid;width:52px;height:52px;place-items:center;color:#8492a8;border-radius:14px;background:#eef2f6}@media(max-width:1180px){.topbar-fact{display:none}.dashboard-hero{grid-template-columns:1.2fr .8fr}.hero-event{padding:26px}.health-orbit{display:none}.event-card-grid,.stats-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.project-table-head,.project-row{min-width:820px;grid-template-columns:minmax(195px,1.5fr) 105px 125px 115px 95px 48px}.project-table{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.project-row>span{padding:0 8px}.permission-layout{grid-template-columns:minmax(0,1fr) 245px}.template-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-layout.with-create-panel{grid-template-columns:1fr}.notification-create-panel{position:static;min-height:0}}@media(max-width:960px){.app-sidebar{width:76px;padding-inline:8px}.brand{width:50px;height:50px}.nav-section-label{padding-inline:8px;font-size:10px;text-align:center}.nav-item{width:60px;min-height:62px}.nav-item span{font-size:11px}.nav-divider{margin-inline:10px}.app-main{width:calc(100% - 76px);margin-left:76px}.topbar{padding-inline:18px}.operator-context>span{display:none}.page,.stage-page,.execution-page{padding-inline:20px}.dashboard-hero{grid-template-columns:1fr}.today-flow{padding:18px 22px}.dashboard-grid,.people-layout,.message-workbench,.finance-layout,.reports-grid,.freeze-layout,.regulation-summary{grid-template-columns:1fr}.project-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-workspace{grid-template-columns:156px minmax(0,1fr)}.event-rail{padding-inline:10px}.event-rail-facts strong{font-size:12px}.stage-item{grid-template-columns:36px 1fr;gap:6px}.stage-node{width:32px;height:32px}.stage-item i{top:40px;left:23px}.stage-submenu{margin-left:4px}.project-table{overflow-x:auto}.project-table-head,.project-row{min-width:880px}.schedule-summary{grid-template-columns:repeat(3,1fr)}.schedule-summary span{border-bottom:1px solid var(--line-soft)}.permission-layout{grid-template-columns:1fr}.regulation-groups-panel{overflow-x:auto}.regulation-group-head,.regulation-group-row{min-width:980px}.permission-aside{min-height:auto}.notification-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-rules-layout{grid-template-columns:1fr}.guard-stack{grid-template-columns:repeat(7,auto);align-items:center}.toolbar{flex-wrap:wrap}}@media(max-width:780px){.app-sidebar{position:fixed;inset:auto 0 0;z-index:30;display:flex;width:100%;height:70px;flex-direction:row;align-items:center;gap:2px;padding:5px 6px;background:#041f48fa;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.nav-section-label,.nav-divider,.sidebar-spacer{display:none}.nav-section{display:contents}.nav-item{width:auto;min-width:0;min-height:58px;flex:1;padding:6px 2px;border-radius:9px}.nav-item svg{width:20px;height:20px}.nav-item span{font-size:9px}.nav-badge{top:3px;right:8px;min-width:17px;height:17px;font-size:8px}.app-main{width:100%;margin-left:0;padding-bottom:70px}.topbar{height:60px;padding-inline:13px}.context-chip{display:none}.message-center-button{padding:9px}.message-center-button span{display:none}.topbar-tools{gap:5px}.content{min-height:calc(100vh - 130px)}.page,.stage-page,.execution-page{padding:20px 14px 28px}.page-header{display:grid;gap:12px}.page-header h1{font-size:25px}.header-actions{justify-content:flex-start}.dashboard-hero{min-height:0}.hero-event{padding:22px}.hero-copy h2{font-size:25px}.today-flow{grid-template-columns:repeat(4,minmax(65px,1fr));overflow-x:auto}.stats-grid.four,.event-card-grid{grid-template-columns:1fr}.stat-card{min-height:88px}.event-workspace{display:block}.event-rail{min-height:0;padding:10px 14px 8px;border-right:0;border-bottom:1px solid var(--line)}.event-rail-facts{display:none}.stage-list{display:flex;overflow-x:auto;padding:8px 0}.stage-item{min-width:78px;min-height:54px;grid-template-columns:1fr;place-items:center;gap:4px;text-align:center}.stage-item i{display:none}.stage-submenu{display:flex;min-height:52px;align-items:flex-start;overflow-x:auto;margin:0}.stage-submenu button{min-width:112px;min-height:42px;height:42px;flex:0 0 auto;white-space:nowrap;grid-template-columns:20px 1fr}.stage-submenu button svg:last-child{display:none}.two-column,.fact-grid,.review-summary{grid-template-columns:1fr}.step-banner,.journey-row,.permission-steps,.regulation-flow{grid-template-columns:repeat(4,minmax(125px,1fr));overflow-x:auto}.project-chip-grid{grid-template-columns:1fr}.schedule-summary{grid-template-columns:repeat(2,1fr)}.schedule-summary span:nth-child(2n){border-right:0}.execution-filters{align-items:flex-start}.filter-group{width:100%;overflow-x:auto;padding-bottom:2px}.filter-group button{white-space:nowrap}.reset-filter{margin-left:0}.people-layout{display:block}.message-toolbar{align-items:stretch;flex-direction:column}.message-toolbar .section-tabs{overflow-x:auto}.message-detail-panel{min-height:340px}.notification-tabs{gap:24px;overflow-x:auto}.notification-tabs button{flex:0 0 auto;white-space:nowrap}.notification-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-template-grid{grid-template-columns:1fr}.people-list{overflow-x:auto}.people-table-head,.people-row{min-width:760px}.person-detail{margin-top:14px;min-height:280px}.report-filter-bar{overflow-x:auto}.report-filter-bar button{white-space:nowrap}.publish-gates{grid-template-columns:repeat(2,1fr)}.publish-gates>div:nth-child(2){border-right:0}.publish-gates>div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.guard-stack{grid-template-columns:1fr}.guard-stack i{display:none}.capability-grid,.template-library-grid,.preview-facts{grid-template-columns:1fr}.regulation-group-head{display:none}.regulation-group-row{min-width:0;grid-template-columns:62px minmax(0,1fr) 20px;grid-template-rows:auto auto;gap:5px 10px}.regulation-group-row .age-badge{grid-row:1 / span 2}.regulation-group-row>span:nth-child(3){grid-column:2}.regulation-group-row>span:nth-child(4),.regulation-group-row>span:nth-child(5){display:none}.regulation-group-row>svg{grid-row:1 / span 2;grid-column:3}.system-section-tabs{overflow-x:auto}.system-section-tabs button{flex:0 0 auto;white-space:nowrap}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.danger-zone{align-items:flex-start;flex-direction:column}.danger-zone .primary-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rule-template-workspace{display:grid;gap:16px}.rule-template-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.rule-template-steps button{position:relative;display:flex;min-height:72px;align-items:center;gap:10px;padding:12px 16px;color:var(--muted);text-align:left;background:transparent}.rule-template-steps button+button{border-left:1px solid var(--line-soft)}.rule-template-steps button span{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;font-size:12px;font-weight:850;border-radius:50%;background:#edf0f5}.rule-template-steps button b{font-size:12px;line-height:1.35}.rule-template-steps button.active{color:var(--blue-dark);background:#f6f9ff}.rule-template-steps button.active span{color:#fff;background:var(--blue)}.rule-template-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 14px;color:#44516a;font-size:11px;border:1px solid #cfddf5;border-radius:9px;background:#f5f8ff}.rule-template-context span{display:inline-flex;align-items:center;gap:5px;color:var(--blue-dark);font-weight:760}.rule-template-context i{color:#94a1b5;font-style:normal}.rule-template-context small{margin-left:auto;color:var(--muted)}.rule-template-tabs{margin-bottom:0}.rule-config-hero,.rule-seed-panel,.rule-manual-panel,.rule-freeze-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px}.rule-config-hero h3,.rule-seed-panel h3,.rule-manual-panel h3,.rule-freeze-panel h3{margin:4px 0 7px;font-size:18px}.rule-config-hero p,.rule-seed-panel p,.rule-manual-panel p{max-width:760px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}.rule-kind-switch,.manual-action-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.rule-kind-switch b{margin-right:4px;font-size:11px}.rule-kind-switch button,.manual-action-switch button{min-height:34px;padding:0 12px;color:#556177;font-size:10px;font-weight:760;border:1px solid var(--line);border-radius:7px;background:#fff}.rule-kind-switch button.active,.manual-action-switch button.active{color:var(--blue-dark);border-color:#8bb5ff;background:var(--blue-soft)}.rule-config-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rule-config-cards article{display:grid;gap:8px;min-height:132px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.rule-config-cards b{color:#2d3b53;font-size:11px}.rule-config-cards span{color:var(--muted);font-size:9px;line-height:1.6}.rule-source-panel,.rule-test-panel,.rule-diff-panel,.rule-manual-review{padding:20px}.rule-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rule-source-grid>div{display:grid;gap:7px;min-height:145px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcff}.rule-source-grid b{color:#334057;font-size:11px}.rule-source-grid small{min-height:37px;color:var(--muted);font-size:9px;line-height:1.55}.source-index{display:grid;width:24px;height:24px;place-items:center;color:var(--blue-dark);font-size:10px;font-weight:850;border-radius:50%;background:var(--blue-soft)}.rule-source-grid .status-pill{justify-self:start}.rule-test-list,.rule-diff-list{display:grid;gap:9px}.rule-test-list span,.rule-diff-list span{display:flex;align-items:flex-start;gap:8px;color:#455269;font-size:10px;line-height:1.55}.rule-test-list svg{flex:0 0 auto;color:var(--green)}.rule-test-list span:nth-child(3) svg{color:var(--orange)}.rule-diff-list{margin:15px 0}.rule-diff-list span{justify-content:space-between;padding:10px 12px;border:1px solid var(--line-soft);border-radius:7px;background:#f8fafc}.rule-diff-list small{color:var(--muted)}.seed-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.seed-mode-grid button{display:grid;min-height:142px;align-content:start;justify-items:start;gap:9px;padding:17px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff}.seed-mode-grid button.selected{border-color:#7eabff;box-shadow:inset 0 0 0 1px #7eabff;background:#f6f9ff}.seed-mode-grid svg{color:var(--blue)}.seed-mode-grid b{font-size:13px}.seed-mode-grid small{color:var(--muted);font-size:9px;line-height:1.55}.pool-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.pool-board article{display:grid;gap:8px;min-height:170px;padding:14px;color:#4c596f;font-size:10px;border:1px dashed #cdd6e4;border-radius:9px;background:#fff}.pool-board article>b{color:#26344a;font-size:11px}.pool-board article>span{padding:8px;border-radius:6px;background:#f7f9fc}.pool-board .drop-enabled{border-color:#72a5ff;background:#f6f9ff}.pool-board .drop-disabled{color:#8994a5;border-color:#e2e6ed;background:#f7f8fa}.pool-board small{color:var(--muted);line-height:1.45}.freeze-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0;overflow:hidden;border:1px solid var(--line);border-radius:9px}.freeze-impact-grid div{display:grid;gap:7px;min-height:86px;padding:14px}.freeze-impact-grid div+div{border-left:1px solid var(--line-soft)}.freeze-impact-grid b{font-size:10px}.freeze-impact-grid span{color:var(--muted);font-size:9px;line-height:1.5}@media(max-width:1180px){.rule-config-cards,.rule-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pool-board{grid-template-columns:1fr}.rule-template-context small{width:100%;margin-left:0}}@media(max-width:780px){.rule-template-steps{overflow-x:auto}.rule-template-steps button{min-width:150px}.rule-config-hero,.rule-seed-panel,.rule-manual-panel,.rule-freeze-panel{display:grid}.rule-config-cards,.rule-source-grid,.seed-mode-grid,.freeze-impact-grid{grid-template-columns:1fr}.freeze-impact-grid div+div{border-top:1px solid var(--line-soft);border-left:0}.rule-source-grid small{min-height:0}.rule-diff-list span{display:grid}.rule-template-context{align-items:flex-start}.rule-template-tabs{overflow-x:auto}.rule-template-tabs button{flex:0 0 auto}}@media(max-width:1180px){.schedule-source-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-workbench{grid-template-columns:170px minmax(0,1fr)}.schedule-candidate{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-candidate .candidate-heading,.schedule-candidate .diff-button,.schedule-candidate dl,.schedule-candidate .candidate-checks,.schedule-candidate .primary-button,.schedule-candidate .secondary-button,.schedule-candidate .candidate-lock{grid-column:1 / -1}}@media(max-width:960px){.schedule-workbench{grid-template-columns:1fr}.schedule-config{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.schedule-config>.config-block,.schedule-config>.config-facts{grid-column:span 1}.schedule-config>.primary-button,.schedule-config>.secondary-button,.schedule-config>.replan-suggestion{grid-column:span 1}.schedule-candidate{grid-column:auto}.schedule-gantt{overflow-x:auto}.schedule-diff,.schedule-manual{align-items:flex-start;flex-direction:column}.schedule-manual .secondary-button{margin-left:0}}@media(max-width:780px){.schedule-source-tabs{gap:7px}.schedule-source-tabs button{min-height:72px;padding:11px}.schedule-source-tabs button svg{width:21px;height:21px}.schedule-source-tabs b{font-size:13px}.schedule-source-tabs small{display:none}.schedule-config,.schedule-candidate{grid-template-columns:1fr}.schedule-config>*,.schedule-candidate>*{grid-column:auto!important}.gantt-toolbar{align-items:flex-start;flex-wrap:wrap}.gantt-toolbar>span{margin-left:0}.import-stepper{gap:4px}.import-stepper span{font-size:10px}}
