:root{font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#172a3a;background:#f4f7f9;font-synthesis:none;--navy: #0e2a40;--navy-2: #17445f;--blue: #2679ee;--teal: #16a183;--gold: #d99a2b;--violet: #765ed5;--danger: #d35454;--line: #e3eaf0;--muted: #718397}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:#f4f7f9}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}.shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:248px;padding:24px 14px;display:flex;flex-direction:column;color:#d9e7f1;background:linear-gradient(175deg,#0a2237,#10334d 68%,#164358);box-shadow:14px 0 38px #12314814}.brand-mark{display:flex;align-items:center;gap:12px;padding:0 10px 23px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark>div{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#123148;background:linear-gradient(145deg,#f5db9f,#c99036);font-size:21px;font-weight:800}.brand-mark span{min-width:0;display:grid;gap:3px}.brand-mark strong{color:#fff;font-size:12px;line-height:1.4;letter-spacing:.1px}.brand-mark small{color:#8eaabe;font-size:10px}.sidebar nav{padding-top:20px;overflow-y:auto;display:grid;gap:3px}.sidebar nav>div{display:grid}.nav-group{padding:17px 13px 6px;color:#6d91a9;font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.sidebar nav button{min-height:43px;padding:10px 13px;display:flex;gap:12px;align-items:center;border:0;border-radius:10px;color:#9eb5c6;background:transparent;text-align:left;transition:.18s}.sidebar nav button i{width:20px;color:#7fa5bf;font-style:normal;text-align:center;font-size:16px}.sidebar nav button span{flex:1;font-size:13px}.sidebar nav button b{min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#d25d5d;font-size:10px}.sidebar nav button:hover{color:#fff;background:#ffffff0e}.sidebar nav button.active{color:#fff;font-weight:700;background:linear-gradient(90deg,#378bcd57,#327ebb1a);box-shadow:inset 3px 0 #5aacf0}.sidebar nav button.active i{color:#78c0fa}.nav-separator{margin:11px 12px 2px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer{margin-top:auto;padding:13px;display:grid;gap:4px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:#ffffff0d}.sidebar-footer span{font-size:11px}.sidebar-footer small{color:#7e9cb2;font-size:9px;line-height:1.5}.icp-record{color:#91afc3;font-size:9px;line-height:1.5;text-decoration:none}.icp-record:hover{color:#fff;text-decoration:underline}main{min-width:0;grid-column:2}.topbar{height:70px;padding:0 32px;display:flex;align-items:center;justify-content:flex-end;gap:21px;position:sticky;top:0;z-index:8;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pilot-badge{padding:6px 10px;border:1px solid #e8c271;border-radius:999px;color:#795313;background:#fff8e8;font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.connection{margin-right:auto;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;color:#657c8e;font-size:11px}.connection small{grid-column:2;color:#9aa8b4;font-size:9px}.live-dot{width:7px;height:7px;grid-row:span 2;display:inline-block;border-radius:50%;background:#21ad87;box-shadow:0 0 0 4px #21ad871f}.connection.offline .live-dot{background:#d45d5d;box-shadow:0 0 0 4px #d45d5d1f}.connection.demo .live-dot{background:#d49a32;box-shadow:0 0 0 4px #d49a3224}.context-select{display:flex;align-items:center;gap:9px}.context-select>span{color:#81909f;font-size:10px}.context-select select{max-width:270px;padding:8px 32px 8px 11px;color:#24445c;border:1px solid #dbe4eb;border-radius:9px;outline:0;background:#f8fafb;font-size:11px}.context-select select:focus{border-color:#70aee7;box-shadow:0 0 0 3px #2679ee14}.bell{width:35px;height:35px;position:relative;border:1px solid #e0e8ee;border-radius:10px;color:#54718a;background:#fff}.bell b{position:absolute;right:-6px;top:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid white;border-radius:10px;color:#fff;background:#d45d5d;font-size:8px}.user{display:flex;gap:9px;align-items:center}.user>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:#275a81;background:#e4eef6;font-weight:700}.user div{min-width:68px;display:grid}.user strong{font-size:11px}.user small{color:#8999a8;font-size:9px}.demo-warning{padding:8px 32px;color:#7d591d;border-bottom:1px solid #f0d9ad;background:#fff7e6;font-size:10px}.canvas{max-width:1580px;margin:auto;padding:28px 32px 48px}.hero{min-height:154px;padding:28px 31px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;border-radius:18px;color:#fff;background:radial-gradient(circle at 84% 18%,rgba(72,160,219,.38),transparent 26%),linear-gradient(116deg,#0e2e49,#1c5373 70%,#1e687f);box-shadow:0 16px 38px #193f5b21}.hero:after{content:"";width:310px;height:310px;position:absolute;right:-82px;bottom:-185px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 30px #ffffff06,0 0 0 63px #ffffff04}.eyebrow{color:#6dbaf0;font-size:9px;font-weight:800;letter-spacing:1.8px}.hero h1{margin:8px 0 7px;font-size:28px}.hero p{margin:0;color:#bcd0de;font-size:12px}.hero-context{min-width:210px;z-index:1;padding:15px 17px;display:grid;gap:4px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#071e2f45;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-context>span:first-child{color:#91bcd4;font-size:9px;letter-spacing:1px}.hero-context strong{font-size:14px}.hero-context small{color:#9db7c8;font-size:9px}.source-flag{width:fit-content;padding:4px 7px;display:inline-flex;align-items:center;border-radius:7px;font-size:8px;font-weight:700}.source-flag.api{color:#0b8065;background:#e6f8f3}.source-flag.demo{color:#97620d;background:#fff1d4}.hero-context .source-flag{margin-top:5px;color:#c9efe5;background:#20b88f2e}.metrics-grid{margin:17px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric{min-height:108px;padding:18px;display:flex;gap:13px;align-items:center;border:1px solid #e5ebf0;border-radius:14px;background:#fff;box-shadow:0 6px 18px #1f3b5009}.metric>div{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--blue);background:#eaf3ff;font-size:16px;font-weight:700}.metric>span{min-width:0;display:grid;color:#7b8d9c;font-size:10px}.metric strong{margin:3px 0 1px;color:#17354d;font-size:22px}.metric small{color:#93a0ab;font-size:9px}.metric.teal>div{color:var(--teal);background:#e7f8f3}.metric.gold>div{color:#c78317;background:#fff3df}.metric.violet>div{color:var(--violet);background:#f0edff}.metric-action{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.metric-action:hover{transform:translateY(-1px);border-color:#b8d6ee;box-shadow:0 10px 24px #1f598217}.metric-action:focus-visible,.risk-row:focus-visible,.dashboard-task-row:focus-visible{outline:3px solid rgba(38,121,238,.2);outline-offset:2px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:15px;align-items:start}.panel{border:1px solid #e4ebf0;border-radius:14px;background:#fff;box-shadow:0 6px 20px #1f3b5008}.panel>header{min-height:67px;padding:16px 19px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f4}.panel h2{margin:3px 0 0;font-size:14px}.panel-kicker{color:#778fa2;font-size:8px;font-weight:800;letter-spacing:1.2px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.link-button{padding:5px 7px;border:0;color:#397db2;background:transparent;font-size:10px;font-weight:600}.link-button:hover{color:#1d66a1;text-decoration:underline}.compact-list{padding:5px 18px 10px}.compact-list>div{min-height:53px;display:flex;gap:11px;align-items:center;border-bottom:1px solid #edf1f4}.compact-list>div:last-child{border-bottom:0}.compact-list>div>span:nth-child(2){flex:1;display:grid;gap:3px}.compact-list strong{font-size:11px}.compact-list small{color:#8696a4;font-size:9px}.work-dot{width:8px;height:8px;border-radius:50%;background:#7f96a7}.work-dot.pending,.work-dot.not_started{background:#d79a32;box-shadow:0 0 0 4px #fff4df}.work-dot.overdue{background:#d65c5c;box-shadow:0 0 0 4px #fceaea}.work-dot.completed,.work-dot.submitted{background:#1ca283;box-shadow:0 0 0 4px #e5f7f2}.compact-meta{align-items:flex-end!important}.notice-list{padding:6px 16px 12px}.notice-list>div{min-height:61px;display:flex;gap:10px;align-items:flex-start;padding:11px 2px;border-bottom:1px solid #edf1f4}.notice-list>div:last-child{border-bottom:0}.notice-list>div>i{width:7px;height:7px;margin-top:4px;flex:0 0 auto;border-radius:50%;background:#347fbd}.notice-list>div.read>i{background:#c8d1d8}.notice-list span{display:grid;gap:4px}.notice-list strong{font-size:10px}.notice-list small{color:#7d8f9e;font-size:9px;line-height:1.45}.page-section{min-width:0}.page-title{min-height:91px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:24px}.page-title h1{margin:7px 0 5px;color:#17354d;font-size:25px}.page-title p{max-width:780px;margin:0;color:#748696;font-size:11px;line-height:1.55}.page-actions{display:flex;align-items:center;gap:9px}.primary,.secondary,.danger-button{min-height:34px;padding:7px 13px;border-radius:9px;font-size:10px;font-weight:700}.primary{border:1px solid #2476e7;color:#fff;background:linear-gradient(135deg,#2b80ef,#1768d3);box-shadow:0 5px 13px #2679ee26}.secondary{border:1px solid #d8e2e9;color:#4f6c82;background:#fff}.danger-button{border:1px solid #d76a6a;color:#fff;background:#d65a5a}.state-card{min-height:218px;margin:8px 0;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed #dce5eb;border-radius:14px;color:#8696a3;background:#ffffffa6;text-align:center}.state-card>b{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#738b9d;background:#eaf0f4;font-size:18px}.state-card strong{color:#486278;font-size:13px}.state-card span{max-width:520px;font-size:10px;line-height:1.5}.state-card.error-state>b{color:#c84c4c;background:#fbe8e8}.spinner{width:30px;height:30px;border:3px solid #dce7ef;border-top-color:#3785c5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.package-card{padding:19px;border:1px solid #e2eaf0;border-radius:14px;background:#fff;box-shadow:0 6px 20px #1f3b5008}.card-top{display:flex;justify-content:space-between;align-items:center}.card-top>span{color:#7990a1;font-family:Consolas,monospace;font-size:9px}.package-card h2{margin:16px 0 6px;color:#1c3a51;font-size:15px}.package-card p{min-height:32px;margin:0;color:#7c8e9d;font-size:10px;line-height:1.5}.package-stats{margin:18px 0 12px;padding-top:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #edf1f4}.package-stats span{display:grid;gap:2px;color:#8796a3;font-size:8px}.package-stats strong{color:#27465d;font-size:13px}.progress{height:5px;margin-bottom:15px;overflow:hidden;border-radius:5px;background:#edf2f5}.progress i{height:100%;display:block;border-radius:5px;background:linear-gradient(90deg,#1aa687,#4cc5aa)}.filters{margin-bottom:13px;display:flex;gap:7px}.filters button{padding:7px 12px;border:1px solid #dfe7ed;border-radius:8px;color:#718596;background:#fff;font-size:9px}.filters button.active{color:#236aa2;border-color:#b9d6ea;background:#eaf4fb;font-weight:700}.table-panel{overflow:hidden}.data-table{width:100%;overflow-x:auto}.table-row{min-height:58px;padding:0 18px;display:grid;align-items:center;gap:14px;border-bottom:1px solid #edf1f4;color:#5c7182;font-size:10px}.table-row:last-child{border-bottom:0}.table-row>span{min-width:0}.table-row>span:first-child,.table-row>span:nth-child(3){display:grid;gap:3px}.table-row strong{overflow:hidden;color:#263f53;font-size:10px;text-overflow:ellipsis}.table-row small{color:#8c9aa6;font-size:8px}.table-head{min-height:37px;color:#94a1ab;background:#fafcfd;font-size:8px;font-weight:700}.work-table .table-row{grid-template-columns:minmax(210px,1.8fr) 1fr .75fr .9fr .65fr .7fr}.work-table .table-row:has(>span:nth-child(7)){grid-template-columns:minmax(210px,1.8fr) 1fr .75fr .9fr .65fr .7fr .55fr}.task-table .table-row{grid-template-columns:minmax(240px,1.8fr) .8fr 1fr .6fr .7fr .7fr}.rule-table .table-row{grid-template-columns:minmax(230px,1.6fr) 1fr 1fr .45fr .45fr .65fr}.rule-table .table-row:has(>span:nth-child(7)){grid-template-columns:minmax(230px,1.6fr) 1fr 1fr .45fr .45fr .65fr .8fr}.evaluation-table .table-row{grid-template-columns:1.4fr 1.4fr .8fr .4fr .65fr .7fr}.table-row code{padding:4px 6px;border-radius:6px;color:#557086;background:#f0f4f7;font-size:8px}.score{color:#1c648f!important;font-size:16px!important;font-weight:800}.mini-metrics{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mini-metrics span{padding:14px 16px;display:grid;gap:4px;border:1px solid #e1e9ee;border-radius:11px;color:#8494a0;background:#fff;font-size:9px}.mini-metrics strong{color:#23455e;font-size:18px}.mini-metrics .danger strong{color:var(--danger)}.status-pill{width:fit-content;padding:4px 7px;display:inline-flex;border-radius:7px;color:#557083;background:#edf2f5;font-size:8px;font-weight:700;white-space:nowrap}.status-pill.published,.status-pill.completed,.status-pill.pass,.status-pill.on-time{color:#0d8065;background:#e6f7f2}.status-pill.pending,.status-pill.pending-ack,.status-pill.awaiting-review,.status-pill.warning,.status-pill.due-soon,.status-pill.pending-manual{color:#9a650e;background:#fff2d8}.status-pill.overdue,.status-pill.fail,.status-pill.urgent,.status-pill.rework{color:#b63d3d;background:#fbe9e9}.status-pill.in-progress,.status-pill.submitted,.status-pill.result-submitted,.status-pill.high{color:#256ba3;background:#e8f2fa}.status-pill.draft,.status-pill.medium{color:#6755ad;background:#f0edfb}.status-pill.active{color:#0d8065;background:#e6f7f2}.status-pill.inactive{color:#7b8790;background:#edf1f3}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;z-index:20;display:grid;background:#0a1c2973;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-backdrop{place-items:center;padding:20px}.modal{width:min(610px,100%);max-height:90vh;overflow:auto;border-radius:15px;background:#fff;box-shadow:0 24px 60px #0c23343d}.modal>header,.drawer>header{min-height:73px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eef2}.modal h2,.drawer h2{margin:4px 0 0;color:#1b3b52;font-size:15px}.modal .close,.drawer .close{width:32px;height:32px;border:0;border-radius:9px;color:#789;background:#eef3f6;font-size:20px}.form-body{padding:20px;display:grid;gap:15px}label{display:grid;gap:7px;color:#526a7d;font-size:10px;font-weight:600}textarea,.form-body input,.form-body select{width:100%;padding:10px 11px;outline:0;border:1px solid #dbe5eb;border-radius:9px;color:#243e52;background:#fbfcfd;font-size:11px;line-height:1.5}textarea{resize:vertical}textarea:focus,.form-body input:focus,.form-body select:focus{border-color:#6faee1;box-shadow:0 0 0 3px #2679ee14}.rule-editor{width:min(760px,100%)}.rule-definition-grid,.rule-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.code-editor{font-family:Consolas,SFMono-Regular,monospace;font-size:10px}.inline-warning,.inline-error{padding:10px 11px;border-radius:8px;font-size:9px;line-height:1.5}.inline-warning{color:#7c5a1f;border:1px solid #eedbb5;background:#fff8ea}.inline-error{color:#a54242;border:1px solid #f0caca;background:#fff1f1}.page-error{margin-bottom:12px}.modal>footer{padding:13px 20px 18px;display:flex;justify-content:flex-end;gap:8px}.drawer-backdrop{justify-items:end}.drawer{width:min(630px,92vw);height:100%;overflow-y:auto;color:#172a3a;background:#fff;box-shadow:-20px 0 55px #0a1e2d33}.drawer>header{position:sticky;top:0;z-index:2;background:#fff}.drawer>header small{color:#8293a0;font-size:9px}.drawer-body{padding:20px}.task-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.task-summary>span{min-height:58px;padding:11px;display:grid;gap:7px;border:1px solid #e3eaf0;border-radius:9px;background:#f9fbfc}.task-summary small{color:#8999a5;font-size:8px}dl{margin:16px 0;display:grid;grid-template-columns:1fr 1fr;border:1px solid #e5ebef;border-radius:10px;overflow:hidden}dl>div{min-height:59px;padding:12px;border-right:1px solid #e9eef2;border-bottom:1px solid #e9eef2}dl>div:nth-child(2n){border-right:0}dt{color:#8b99a5;font-size:8px}dd{margin:5px 0 0;color:#334f64;font-size:10px}.detail-section{margin-top:18px}.detail-section h3{margin:0 0 9px;color:#28465c;font-size:11px}.detail-section>p{margin:0;color:#687c8c;font-size:10px;line-height:1.6}.action-box{margin:18px 0;padding:14px;border:1px solid #d8e7f2;border-radius:11px;background:#f4f9fc}.action-box>div:last-child{margin-top:10px;display:flex;gap:8px}.timeline{padding-left:8px}.timeline>div{min-height:55px;position:relative;display:flex;gap:12px}.timeline>div:before{content:"";width:1px;position:absolute;left:4px;top:12px;bottom:-2px;background:#dfe7ec}.timeline>div:last-child:before{display:none}.timeline i{width:9px;height:9px;margin-top:3px;z-index:1;flex:0 0 auto;border:2px solid #fff;border-radius:50%;background:#3d8bc6;box-shadow:0 0 0 2px #c9dfef}.timeline span{display:grid;align-content:start;gap:3px}.timeline strong{font-size:10px}.timeline small{color:#8a99a5;font-size:8px}.timeline p{margin:2px 0 0;color:#637989;font-size:9px}.muted{color:#8796a2!important}.score-block{min-height:112px;padding:16px 19px;display:flex;align-items:center;gap:18px;border-radius:12px;color:#fff;background:linear-gradient(120deg,#123d5a,#206c84)}.score-block>div{width:80px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.16)}.score-block>div strong{font-size:31px}.score-block>div span{color:#a9c8d9;font-size:8px}.score-block>span{display:grid;gap:8px}.score-block>span small{color:#bdd2dd;font-size:10px}.evaluation-items{border:1px solid #e4ebef;border-radius:10px;overflow:hidden}.evaluation-items>div{min-height:55px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eef2}.evaluation-items>div:last-child{border-bottom:0}.evaluation-items span{display:grid;gap:4px}.evaluation-items strong{font-size:10px}.evaluation-items small{color:#8796a2;font-size:8px}.notification-page{display:grid;gap:10px}.notification-page article{min-height:106px;padding:17px 19px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:15px;align-items:start;border:1px solid #dfe8ee;border-radius:12px;background:#fff;box-shadow:0 5px 16px #1f3b5006}.notification-page article>i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#347fbd;box-shadow:0 0 0 4px #e8f2f9}.notification-page article.read{opacity:.72}.notification-page article.read>i{background:#a8b5bf;box-shadow:0 0 0 4px #eef2f4}.notification-page article>div>span{display:flex;gap:10px;align-items:center}.notification-page article>div>span small{color:#91a0ab;font-size:8px}.notification-page h2{margin:10px 0 6px;font-size:13px}.notification-page p{margin:0;color:#657a8a;font-size:10px;line-height:1.55}.p0-team-table .table-row{grid-template-columns:minmax(220px,1.6fr) 1fr .8fr .65fr .65fr .9fr}.p0-drawer{width:min(760px,96vw)}.p0-drawer .drawer-body{padding-bottom:46px}.payload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payload-grid span{min-height:58px;padding:10px 11px;display:grid;gap:5px;align-content:center;border:1px solid #e4ebef;border-radius:9px;background:#fbfcfd}.payload-grid small{color:#8a99a5;font-size:8px}.payload-grid strong{overflow-wrap:anywhere;color:#355269;font-size:10px}.upload-box{margin-bottom:10px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;border:1px dashed #bcd7e9;border-radius:10px;background:#f4f9fc}.upload-box label{min-width:0}.upload-box input[type=file]{width:100%;padding:7px;border:1px solid #d9e4eb;border-radius:8px;color:#61798c;background:#fff;font-size:9px}.upload-box small{color:#8394a1;font-size:8px}.upload-box button{grid-column:2;grid-row:1 / span 2}.attachment-list{display:grid;gap:7px}.attachment-list>div{min-height:54px;padding:9px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:9px;align-items:center;border:1px solid #e2e9ee;border-radius:9px;background:#fff}.attachment-list>div>span:nth-child(2){display:grid;gap:4px}.attachment-list strong{overflow:hidden;color:#355067;font-size:10px;text-overflow:ellipsis}.attachment-list small{color:#8a99a5;font-size:8px}.attachment-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;color:#2d7bad;background:#e9f3f9}.danger-link{color:#bb4e4e!important}.attachment-preview{margin-top:11px;position:relative;overflow:hidden;border:1px solid #dce6ec;border-radius:11px;background:#edf2f5}.attachment-preview img{width:100%;max-height:430px;display:block;object-fit:contain}.attachment-preview .close{position:absolute;top:9px;right:9px}.action-box h3{margin:0 0 5px;color:#28465c;font-size:11px}.action-box>p{margin:0 0 11px;font-size:9px}.action-box input,.action-box select{width:100%;min-height:37px;padding:8px 10px;outline:0;border:1px solid #d6e2e9;border-radius:8px;color:#29475d;background:#fff;font-size:10px}.action-box input:focus,.action-box select:focus{border-color:#6faee1;box-shadow:0 0 0 3px #2679ee14}.form-grid{display:grid;grid-template-columns:minmax(0,1.5fr) .6fr 1fr;gap:9px}.inline-success{padding:10px 11px;border:1px solid #bfe2d8;border-radius:8px;color:#15755f;background:#ebf8f4;font-size:9px;line-height:1.5}.status-pill.approved,.status-pill.clean,.status-pill.open{color:#0d8065;background:#e6f7f2}.status-pill.rejected,.status-pill.escalated{color:#b63d3d;background:#fbe9e9}.status-pill.low{color:#557083;background:#edf2f5}.p0-dashboard-metrics{margin-bottom:15px}.operation-metric-grid{padding:14px 16px 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.operation-metric-grid>div{min-height:86px;padding:13px;display:grid;gap:5px;border:1px solid #e2eaef;border-radius:10px;background:linear-gradient(145deg,#fff,#f8fafb)}.operation-metric-grid span{color:#758a99;font-size:9px}.operation-metric-grid strong{color:#1f506d;font-size:19px}.operation-metric-grid small{color:#95a2ac;font-size:8px}.risk-list{padding:4px 15px 13px;display:grid}.risk-list>div,.risk-row{min-height:63px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:0;border-bottom:1px solid #edf1f4;background:transparent}.risk-list>div:last-child,.risk-row:last-child{border-bottom:0}.risk-row{width:100%;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.risk-row:hover{background:#f8fbfd}.risk-list i{width:8px;height:8px;border-radius:50%;background:#e27655;box-shadow:0 0 0 4px #fbede8}.risk-list span:nth-child(2){display:grid;gap:4px}.risk-list strong{color:#304b60;font-size:10px}.risk-list small{color:#8b9aa5;font-size:8px}.dashboard-task-list{padding:5px 16px 14px;display:grid}.dashboard-task-list>div,.dashboard-task-row{min-height:62px;display:flex;gap:12px;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #edf1f4;background:transparent}.dashboard-task-list>div:last-child,.dashboard-task-row:last-child{border-bottom:0}.dashboard-task-list>div>span:first-child,.dashboard-task-row>span:first-child{min-width:0;display:grid;gap:4px}.dashboard-task-list>div>span:last-child,.dashboard-task-row>span:last-child{display:flex;gap:6px}.dashboard-task-row{width:100%;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.dashboard-task-row:hover{background:#f8fbfd}.dashboard-task-list strong{overflow:hidden;color:#304b60;font-size:10px;text-overflow:ellipsis}.dashboard-task-list small{color:#8b9aa5;font-size:8px}.dashboard-hotel-select{display:flex;align-items:center;gap:8px;color:#718493;font-size:9px}.dashboard-hotel-select select{min-width:190px;padding:8px 30px 8px 10px;border:1px solid #dbe4eb;border-radius:9px;color:#24445c;background:#fff}.regional-summary{grid-template-columns:repeat(5,1fr)}.operations-table .table-row{grid-template-columns:minmax(185px,1.4fr) repeat(5,.65fr) .8fr}.danger-text{color:#c14d4d!important;font-weight:800}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(380px,.7fr);align-items:center;gap:64px;padding:7vw 9vw;position:relative;background:radial-gradient(circle at 20% 20%,rgba(59,151,225,.15),transparent 34%),linear-gradient(135deg,#071f32,#0d334d 52%,#edf4f7 52%,#f7fafb)}.login-icp{position:absolute;bottom:20px;left:50%;color:#6e8797;transform:translate(-50%)}.login-brand{display:flex;align-items:flex-start;gap:24px;max-width:720px;color:#fff}.login-logo{width:82px;height:82px;flex:0 0 82px;display:grid;place-items:center;border-radius:23px;color:#17364a;background:linear-gradient(145deg,#f9d689,#d8a645);box-shadow:0 20px 42px #00000047;font-size:38px;font-weight:900}.login-brand h1{margin:12px 0 16px;max-width:520px;font-size:clamp(30px,4vw,54px);line-height:1.16;letter-spacing:-.04em}.login-brand p{max-width:580px;margin:0;color:#c9dae4;font-size:15px;line-height:1.8}.login-card{width:100%;max-width:460px;justify-self:end;display:grid;gap:18px;padding:34px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fffffff0;box-shadow:0 28px 72px #10344833;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card header h2{margin:7px 0;color:#193f58;font-size:25px}.login-card header p{margin:0;color:#728793;font-size:11px}.login-card label{display:grid;gap:7px;color:#496475;font-size:11px;font-weight:700}.login-card input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #ccdce5;border-radius:10px;outline:0;font-size:13px}.login-card input:focus{border-color:#4b9bda;box-shadow:0 0 0 4px #4b9bda1a}.login-card>small{color:#90a0aa;text-align:center;font-size:9px}.login-submit{min-height:48px;justify-content:center}.logout-button{min-width:48px;min-height:34px;flex:0 0 auto;padding:7px 10px;border:1px solid #dce6eb;border-radius:9px;color:#526f82;background:#fff;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}.logout-button:hover{border-color:#99bdd8;color:#1f648f;background:#f3f9fd}.password-modal{width:min(440px,100%)}.wecom-entry-card{min-height:330px;align-content:center}.wecom-entry-progress{min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8194a0;text-align:center}.wecom-entry-progress strong{color:#345b73;font-size:13px}.wecom-entry-progress span{font-size:10px}.wecom-entry-action{width:100%;min-height:44px}.config-tabs{margin-bottom:14px;display:flex;gap:6px}.config-tabs button{padding:9px 17px;border:1px solid #dce6eb;border-radius:9px;color:#607887;background:#fff;font-size:10px;font-weight:700;cursor:pointer}.config-tabs button.active{border-color:#6faee1;color:#246fa8;background:#eaf5fd}.config-panel>header{min-height:68px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7edf1}.config-panel>header h2{margin:4px 0 0;color:#254a62;font-size:16px}.panel-actions{display:flex;gap:8px}.config-list{padding:8px 0}.config-row{min-height:64px;display:flex;align-items:center;gap:12px;padding-right:18px;border-bottom:1px solid #edf2f4}.config-row:last-child{border-bottom:0}.config-row>span{min-width:0;flex:1;display:grid;gap:4px}.config-row strong{color:#294b60;font-size:11px}.config-row small{color:#84949e;font-size:9px}.config-row>b{padding:4px 8px;border-radius:9px;color:#15755f;background:#e6f6f1;font-size:8px}.config-row>b.inactive{color:#7b8790;background:#edf1f3}.inactive-row{background:#fafbfc}.inactive-row>span:first-of-type strong,.inactive-row>strong{color:#7c8b94}.maintenance-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}.text-action{min-height:27px;padding:4px 7px;border:1px solid #d7e3e9;border-radius:7px;color:#326684;background:#fff;font-size:8px;font-weight:700;cursor:pointer}.text-action:hover:not(:disabled){border-color:#8cb9d4;background:#f4f9fc}.text-action.danger{color:#b44a4a}.text-action:disabled{opacity:.42;cursor:not-allowed}.org-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:#4e8bb8;font-size:9px;font-style:normal;font-weight:800}.org-icon.hotel{background:#d09c40}.org-icon.department{background:#6aa18f}.org-icon.region{background:#725fa7}.org-icon.group{background:#244a64}.simple-table{min-width:720px}.simple-table>div{min-height:54px;padding:10px 18px;display:grid;grid-template-columns:1fr 1.4fr 1.2fr .8fr;gap:14px;align-items:center;border-bottom:1px solid #edf2f4;color:#5f7481;font-size:10px}.simple-table>div>span{min-width:0;display:grid;gap:3px}.simple-table strong{color:#2b4e64}.simple-table small{color:#93a1aa;font-size:8px}.simple-table .simple-head{min-height:40px;color:#82929c;background:#f7fafb;font-size:8px;font-weight:800}.employees-table>div{grid-template-columns:1.2fr 1fr 1.4fr 1.2fr .6fr}.maintenance-table>div{grid-template-columns:.9fr 1.2fr 1fr .6fr 1.8fr}.employees-table.maintenance-table>div{grid-template-columns:1fr .9fr 1.1fr 1fr .5fr 1.8fr}.table-maintenance{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.configuration-modal{width:min(780px,calc(100vw - 36px))}.configuration-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.configuration-form label{display:grid;gap:6px;color:#526c7c;font-size:10px;font-weight:700}.configuration-form input,.configuration-form select,.configuration-form textarea{width:100%;min-height:39px;padding:9px 10px;border:1px solid #d6e2e9;border-radius:8px;outline:0;color:#29475d;background:#fff;font-size:10px}.configuration-form textarea{resize:vertical}.configuration-form input:focus,.configuration-form select:focus,.configuration-form textarea:focus{border-color:#6faee1;box-shadow:0 0 0 3px #2679ee14}.wecom-webhook-table>div{grid-template-columns:minmax(180px,1.3fr) .7fr .7fr minmax(150px,1fr) .6fr}.wecom-webhook-table small{color:#748999;font-size:10px}.configuration-form .full-field{grid-column:1/-1}.configuration-form .checkbox-label{display:flex;align-items:center;align-self:end;min-height:39px}.configuration-form .checkbox-label input{width:auto;min-height:auto}.version-summary{display:grid;gap:10px}.version-summary>strong{color:#246fa8}.version-summary>p{margin:0;color:#718590;line-height:1.6}.version-summary>div{min-height:48px;padding:10px 12px;display:grid;grid-template-columns:60px 100px 1fr;gap:12px;align-items:center;border:1px solid #e0e8ed;border-radius:9px}.allocation-box{margin-top:16px;padding:14px;border:1px solid #d9e7ee;border-radius:10px;background:#f7fafb}.allocation-box h3{margin:0 0 10px;color:#31566c;font-size:12px}.allocation-box>small{display:block;margin-top:8px;color:#81929c;font-size:8px}.form-context{margin-bottom:12px;padding:11px 12px;display:grid;gap:4px;border-radius:9px;color:#2c536b;background:#eef6fb}.form-context small{color:#78909f;font-size:8px}.dynamic-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dynamic-form label{display:grid;gap:6px;color:#506b7c;font-size:10px;font-weight:700}.dynamic-form input,.dynamic-form select{width:100%;min-height:39px;padding:8px 10px;border:1px solid #d6e2e9;border-radius:8px;outline:0}.dynamic-form label>small,.attachment-picker small{color:#8c9aa4;font-size:8px;font-weight:400}.attachment-picker{margin-top:12px;display:grid;gap:6px}@media(max-width:820px){.login-screen{grid-template-columns:1fr;gap:32px;padding:30px 20px;background:linear-gradient(160deg,#09263b,#124a68 42%,#eef4f7 42%)}.login-card{justify-self:center}.login-brand{margin-top:20px}.login-logo{width:58px;height:58px;flex-basis:58px;font-size:27px}.configuration-form .form-grid{grid-template-columns:1fr}.configuration-form .full-field{grid-column:auto}}@media(max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid .span-3{grid-column:span 2}.card-grid{grid-template-columns:repeat(2,1fr)}.context-select>span{display:none}.operation-metric-grid{grid-template-columns:repeat(2,1fr)}.regional-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.shell{display:block}.sidebar{width:76px;padding:20px 9px}.brand-mark{justify-content:center;padding:0 0 20px}.brand-mark span,.sidebar nav button span,.sidebar nav button b,.nav-group,.sidebar-footer{display:none}.sidebar nav button{justify-content:center;padding:10px}main{margin-left:76px}.topbar{padding:0 15px;gap:10px}.connection{display:none}.context-select{margin-right:auto}.context-select select{width:195px}.canvas{padding:20px 16px 36px}.hero{align-items:flex-start;flex-direction:column;gap:18px}.hero-context{width:100%}.dashboard-grid,.card-grid{grid-template-columns:1fr}.dashboard-grid .span-2,.dashboard-grid .span-3{grid-column:span 1}.page-title{align-items:flex-start;flex-direction:column}.mini-metrics{grid-template-columns:repeat(2,1fr)}.table-panel{overflow-x:auto}.data-table{min-width:900px}.form-grid,.payload-grid,.rule-definition-grid,.rule-number-grid,.upload-box{grid-template-columns:1fr}.upload-box button{grid-column:1;grid-row:auto;justify-self:start}.regional-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.user,.pilot-badge,.bell{display:none}.context-select{min-width:0;flex:1}.context-select select{width:100%;max-width:none}.metrics-grid{grid-template-columns:1fr}.hero h1{font-size:23px}.page-title h1{font-size:22px}.task-summary,dl{grid-template-columns:1fr}dl>div{border-right:0}.notification-page article{grid-template-columns:8px 1fr}.notification-page article>button{grid-column:2;justify-self:start}.operation-metric-grid,.regional-summary{grid-template-columns:1fr}}
