:root{--blue:#245b9b;--deep:#152c49;--bg:#f3f6fb;--muted:#68788d;--line:#e2e9f1;--green:#23855c}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,Noto Sans SC,sans-serif;font-size:14px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.appframe,.sidebar{display:flex}.sidebar{width:260px;border-right:1px solid var(--line);padding:26px 16px;flex-direction:column;gap:22px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidelogo{display:flex;align-items:center;gap:10px;padding:5px 10px}.sidelogo strong{font-size:17px;display:block}.person span,.sidelogo span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.brandmark{width:54px;height:54px;display:grid;place-items:center;background:#1d5d9e;color:#fff;border-radius:14px;font-size:33px;font-weight:900}.brandmark.small{width:36px;height:36px;font-size:23px;border-radius:10px}.person{border-radius:12px;background:#f1f6fc;padding:16px}.sidebar nav{display:grid;grid-gap:6px;gap:6px}.logout,.sidebar nav button{border:0;background:none;border-radius:9px;padding:13px 12px;display:flex;align-items:center;gap:10px;color:#45566e;font-weight:600}.sidebar nav button.active{background:#e7f0fb;color:var(--blue)}.logout:hover,.sidebar nav button:hover{background:#f0f5fa}.logout{color:#b13a3a}.content{min-width:0;max-width:1600px;margin:auto;padding:34px 44px 70px}.topbar{display:flex;justify-content:space-between;margin-bottom:26px;gap:15px}.topbar h1{font-size:27px;letter-spacing:-.7px;margin:8px 0 0}.overline{font-weight:700;font-size:10px;letter-spacing:2px;color:#8a9bb0}.topdate{color:var(--muted);font-weight:600}.panel,.tile{background:white;border:1px solid var(--line);box-shadow:0 4px 18px #182f4e08;border-radius:15px;padding:24px;margin-bottom:18px}.panel h3{margin:0 0 20px}.hero{border-radius:17px;padding:30px 32px;background:linear-gradient(110deg,#143864,#357bbb);color:white;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hero p{font-weight:700;opacity:.75}.hero h2{margin:6px 0 10px;font-size:26px}.hero span{opacity:.85}.kpis{display:grid;grid-gap:16px}.tile span{color:var(--muted);font-weight:600}.tile strong{font-size:33px;color:var(--blue)}.tile small{color:var(--muted)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:19px;gap:19px}.fields .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;color:#42536b;font-weight:600;margin-bottom:15px}input[type=file],label input,label select,label textarea{width:100%;border-radius:9px;border:1px solid #d7e2f0;background:white;color:#26374d;outline:none;min-height:46px}label input:focus,label select:focus,label textarea:focus{border-color:#3680c5;box-shadow:0 0 0 3px #367dc31c}input[readonly]{background:#f5f8fc;color:#64758a}.btn{border:0;border-radius:9px;padding:13px 20px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:9px}.btn.primary{background:#286fb1;color:white}.btn.submit{background:var(--green);color:white;margin-top:10px}.btn.light,.btn.outline{background:white;color:var(--blue)}.btn.outline{border:1px solid #d2dfec}.btn.wide{width:100%}.actions,.gpsline{display:flex;align-items:center;gap:15px;margin-top:6px}.gpsline small,.muted{color:var(--muted)}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:13px;border-bottom:1px solid var(--line)}th{background:#f4f7fb;color:#53667d;font-size:12px;white-space:nowrap}td{font-size:13px}.empty{text-align:center;padding:34px;color:#9ca9b8;background:#f8fafc;border-radius:10px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:17px;display:flex;gap:8px;align-items:center}.alert.good{background:#e9f8ef;color:#167348}.alert.error{background:#fff0ef;color:#a32924}.linkbtn{border:0;background:none;color:#176cac;font-weight:700}.linkbtn.danger{color:#b42e36}.slim{max-width:570px;margin:auto}.authwrap{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top left,#d4e3f3,transparent 50%),#eef3fa}.authcard{width:min(100%,430px);background:white;border-radius:20px;padding:36px;box-shadow:0 25px 80px #14304c20}.authcard .brandmark{margin:auto}.authcard h1,.authcard h2{text-align:center}.authcard h1{margin:16px 0 5px;font-size:23px}.authcard h2{font-size:19px;font-weight:700;margin:10px 0;line-height:1.5}.authcard h2 span{font-size:16px;color:#5f728a}.version{text-align:center;font-size:11px;letter-spacing:2px;color:#93a0ad;margin-bottom:30px}.authcard .btn{margin-top:8px}.setup{max-width:680px;margin:80px auto;padding:25px;background:white;border-radius:14px}code{background:#eef2f7;padding:2px 5px;border-radius:3px}@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}.sidebar{width:225px}.content{padding:28px 22px}}@media(max-width:700px){.appframe{display:block}.sidebar{position:relative;height:auto;width:100%;padding:13px;gap:10px}.person,.sidelogo{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{font-size:12px;white-space:nowrap;padding:11px}.logout{position:absolute;right:7px;top:8px;background:white}.logout svg{width:15px}.content{padding:18px 13px 55px}.topbar h1{font-size:21px}.topdate{display:none}.hero{flex-direction:column;align-items:flex-start;padding:24px}.hero h2{font-size:21px}.kpis{gap:9px}.tile{padding:15px}.tile strong{font-size:27px}.panel{padding:17px}.fields{grid-template-columns:1fr;gap:3px}.fields .full{grid-column:auto}.gpsline{align-items:flex-start;flex-direction:column}}:root{--blue:#135aab;--deep:#102f59;--bg:#f2f6fc;--muted:#6b809b;--line:#e1eaf5;--green:#16825e;--bester-navy:#113c7d;--bester-bright:#1769c4;--bester-shadow:0 10px 34px rgba(17,53,98,.055)}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 94% 3%,#e7f1ff 0,transparent 30%),#f2f6fc;color:var(--deep);font-family:Segoe UI,Microsoft YaHei,Noto Sans SC,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(32,113,203,.28);outline-offset:2px}.appframe{min-height:100vh;align-items:flex-start}.sidebar{width:276px;min-width:276px;gap:20px;padding:23px 14px 20px;background:#fff;border-right:1px solid #e3ebf5;box-shadow:5px 0 25px rgba(11,47,92,.025);overflow-y:auto;z-index:12}.sidelogo{gap:12px;padding:3px 8px 7px}.sidelogo strong{font-size:18px;font-weight:750;letter-spacing:-.25px;color:#103463}.sidelogo span{color:#758ca9;font-size:12px;margin-top:5px}.brandmark.brandmark-logo{flex:0 0 auto;width:96px;height:82px;padding:5px;display:grid;place-items:center;border:1px solid #e1eaf3;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(13,56,110,.09)}.brandmark.brandmark-logo.small{width:58px;height:54px;padding:3px;border-radius:12px}.brandmark-logo img{display:block;width:100%;height:100%;object-fit:contain}.person{position:relative;border:1px solid #e5effa;border-radius:15px;padding:16px 12px 16px 50px;background:linear-gradient(135deg,#f2f7fe,#eaf3ff);box-shadow:none;min-height:65px}.person:before{content:"B";position:absolute;top:15px;left:12px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#d0e3fc;color:#19548d;font-weight:800;font-size:16px}.person strong{display:block;color:#163b69;font-size:13px;overflow-wrap:anywhere}.person span{color:#6984a4;font-size:11px}.sidebar nav{gap:5px}.logout,.sidebar nav button{width:100%;min-height:48px;padding:11px 12px;border-radius:11px;font-size:13px;line-height:1.45;color:#395a7f;text-align:left;font-weight:640}.logout svg,.sidebar nav button svg{flex:0 0 auto;stroke-width:1.9}.sidebar nav button:hover{background:#f1f6fd;color:#124f97}.sidebar nav button.active{background:#e0eeff;color:#1259ae;box-shadow:inset 3px 0 0 #2574d1}.logout{margin-top:auto;border-top:1px solid #ecf1f7;border-radius:0;padding-top:19px;color:#b23047}.logout:hover{color:#a12a3c;background:#fff5f6;border-radius:10px}.content{width:100%;max-width:1750px;margin:0 auto;padding:35px clamp(18px,3vw,52px) 80px}.topbar{align-items:center;margin-bottom:25px}.topbar h1{font-size:clamp(24px,2.1vw,32px);letter-spacing:-.9px;line-height:1.2;margin-top:9px;color:#102f59}.overline{font-size:11px;letter-spacing:2.6px;color:#8096b2}.topdate{color:#476789;font-weight:650;background:white;border:1px solid var(--line);border-radius:12px;padding:12px 17px;box-shadow:0 5px 22px #11396608;white-space:nowrap}.panel,.tile{border:1px solid #e0eaf6;border-radius:17px;background:#fff;box-shadow:var(--bester-shadow)}.panel{padding:clamp(18px,2.2vw,27px);margin-bottom:20px}.panel h3{margin:0 0 19px;color:#123863;font-size:18px;letter-spacing:-.15px}.syncbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:14px 20px;margin-bottom:16px;border:1px solid #dbe9f9;background:linear-gradient(100deg,#ffffff,#f4f9ff);color:#506d8b;font-size:13px;box-shadow:0 5px 20px #12376307}.syncbar strong{padding:6px 11px;background:#e8f7f0;color:#137a58;border-radius:50px;font-size:12px}.syncbar .btn{margin-left:auto}.hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 78% -38%,rgba(83,167,255,.5) 0,transparent 43%),radial-gradient(circle at 58% 145%,rgba(19,141,247,.42) 0,transparent 45%),linear-gradient(111deg,#0e3875,#155da8 59%,#237bd0);border:1px solid rgba(255,255,255,.17);min-height:205px;padding:30px clamp(23px,3vw,40px);border-radius:20px;margin-bottom:21px;box-shadow:0 16px 35px rgba(10,66,134,.14);gap:20px}.hero:before{content:"";position:absolute;pointer-events:none;z-index:-1;width:410px;height:410px;right:-160px;bottom:-335px;border-radius:50%;border:85px solid rgba(255,255,255,.06)}.hero>button,.hero>div{position:relative;z-index:1}.hero p{color:#b9dcff;font-size:11px;letter-spacing:2px;margin:0 0 13px;opacity:1}.hero h2{color:white;font-size:clamp(24px,2.7vw,36px);line-height:1.19;letter-spacing:-.85px;margin:0 0 11px}.hero span{font-size:14px;line-height:1.5;opacity:.91}.btn{min-height:43px;border-radius:10px;padding:11px 17px;font-size:13px}.btn.primary,.btn.submit{color:#fff;background:linear-gradient(110deg,#145ba9,#2277ca);box-shadow:0 5px 15px rgba(23,106,195,.12)}.btn.primary:hover,.btn.submit:hover{background:linear-gradient(110deg,#0d4c95,#1569b9)}.btn.submit{margin-top:11px}.btn.light{background:#fff;color:#1259a8;box-shadow:0 7px 21px #092e6329;font-weight:750;white-space:nowrap}.btn.light:hover{background:#f3f8ff}.btn.outline{color:#175ba5;border:1px solid #d4e4f6;background:#fff}.btn.outline:hover{background:#f3f8ff}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.tile{position:relative;min-width:0;margin-bottom:0;display:flex;flex-direction:column;gap:9px;padding:25px 20px 22px;overflow:hidden;background:linear-gradient(150deg,#fff 57%,#f2f8ff)}.tile:before{content:"";display:block;width:30px;height:5px;border-radius:50px;background:#2a7bdb;margin-bottom:4px}.tile span{font-size:13px;color:#476583;font-weight:680;line-height:1.5;min-height:37px}.tile strong{color:#153f71;font-size:clamp(30px,2.55vw,39px);letter-spacing:-1.3px;line-height:1.1}.tile small{color:#8194aa;font-size:12px}.kpis .tile:nth-child(2){background:linear-gradient(150deg,#fff 57%,#eefbf6)}.kpis .tile:nth-child(2):before{background:#2ec695}.kpis .tile:nth-child(3){background:linear-gradient(150deg,#fff 57%,#f7f3ff)}.kpis .tile:nth-child(3):before{background:#9172e7}.kpis .tile:nth-child(4){background:linear-gradient(150deg,#fff 57%,#fff5ed)}.kpis .tile:nth-child(4):before{background:#e9a14d}.empty{border:1px dashed #d5e2f3;background:#f8fbff;color:#8499b2;padding:46px 20px;border-radius:13px}.fields{gap:14px 20px}label{color:#466380;line-height:1.6;font-size:13px}input[type=file],label input,label select,label textarea{border:1px solid #d9e4f2;border-radius:11px;min-height:47px;padding:12px 14px;color:#1b395c;background:#fcfdff}label textarea{resize:vertical}label input:hover,label select:hover,label textarea:hover{border-color:#b3cfec}label input:focus,label select:focus,label textarea:focus{background:#fff;border-color:#2c7ac8;box-shadow:0 0 0 3px #2679c41f}.tablewrap{border:1px solid #e7eef7;border-radius:12px;overflow-x:auto}table{min-width:480px}th{font-weight:700;color:#486583;background:#f4f8fd}td,th{padding:13px 15px;border-bottom:1px solid #ecf1f7;vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover{background:#f9fbff}.linkbtn{color:#145da7;padding:5px 2px}.linkbtn:hover{color:#0e4078;text-decoration:underline}.alert{border-radius:11px;line-height:1.6}.authwrap{background:radial-gradient(circle at 12% 0,#dceaff 0,transparent 40%),radial-gradient(circle at 95% 95%,#d6e8fd 0,transparent 35%),#eff5fd}.authcard{border:1px solid #e1ebf7;border-radius:24px;width:min(100%,485px);padding:clamp(24px,3vw,38px);box-shadow:0 32px 80px #12365e24}.authcard .brandmark-logo{margin:0 auto}.authcard h1{font-size:clamp(24px,2.3vw,30px)}.authcard h2{color:#355b89}.authcard label{text-align:left}.authcard .version{font-weight:700;letter-spacing:2.4px}.gpsline{flex-wrap:wrap}@media(max-width:1150px){.sidebar{width:238px;min-width:238px}.content{padding:27px 22px 65px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.appframe{display:block}.sidebar{width:100%;min-width:0;height:auto;position:relative;padding:11px 12px 7px;gap:8px;overflow:visible;border-bottom:1px solid #e3ebf5}.sidelogo{display:flex;width:calc(100% - 105px);padding:2px 4px 6px}.brandmark.brandmark-logo.small{width:51px;height:47px}.sidelogo strong{font-size:15px}.sidelogo span{font-size:11px}.person{display:none}.sidebar nav{display:flex;width:100%;overflow-x:auto;overscroll-behavior-x:contain;gap:5px;padding:3px 0 8px}.sidebar nav button{flex:0 0 auto;width:auto;min-height:39px;white-space:nowrap;font-size:12px;padding:8px 11px}.sidebar nav button.active{box-shadow:inset 0 -3px 0 #2574d1}.logout{position:absolute;top:9px;right:9px;margin:0;border:1px solid #f0e0e4;background:#fff9fa;border-radius:9px;min-height:39px;width:auto;padding:8px 9px;font-size:11px;gap:5px}.content{padding:20px 12px 52px}.topbar{margin-bottom:18px;align-items:flex-start}.topbar h1{font-size:23px}.topdate{display:none}.hero{padding:25px 20px;min-height:0;flex-direction:column;align-items:flex-start}.hero h2{font-size:25px}.hero .btn{white-space:normal}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{padding:18px 13px;gap:7px}.tile span{min-height:42px;font-size:12px}.tile strong{font-size:30px}.panel{padding:17px}.fields{grid-template-columns:1fr;gap:2px}.fields .full{grid-column:auto}.syncbar{padding:12px}.syncbar .btn{margin-left:0}.gpsline{flex-direction:column;align-items:flex-start}}@media(max-width:350px){.kpis{grid-template-columns:1fr}.sidebar nav button{font-size:11px}}@media(prefers-reduced-motion:reduce){*,:after,:before{transition-duration:0s!important;animation-duration:0s!important}}.mobile-menu-toggle{display:none}@media (max-width:700px){body,html{max-width:100%;overflow-x:hidden}.appframe{display:block;min-width:0}.sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;height:auto;position:-webkit-sticky;position:sticky;top:0;z-index:100;grid-gap:9px 8px;gap:9px 8px;padding:10px 13px;overflow:visible;background:#fff;border-bottom:1px solid #e0eaf6;box-shadow:0 5px 20px rgba(17,53,98,.07)}.sidebar,.sidelogo{align-items:center;min-width:0}.sidelogo{display:flex;grid-column:1;width:auto;max-width:100%;padding:0;gap:9px}.brandmark.brandmark-logo.small{width:50px;height:47px;flex-shrink:0;padding:3px}.sidelogo strong{display:block;font-size:14px;line-height:1.2}.sidelogo span{font-size:10px;margin-top:3px}.person{display:none}.mobile-menu-toggle{display:inline-flex;grid-column:2;align-items:center;justify-content:center;gap:7px;width:auto;min-width:113px;padding:9px 11px;min-height:44px;background:#f2f7ff;border:1px solid #d9e7f7;border-radius:11px;color:#174f93;font-size:12px;font-weight:750;white-space:nowrap}.mobile-menu-icon{font-size:19px;line-height:1}.mobile-menu-toggle[aria-expanded=true]{background:#e2efff;border-color:#bcd5f3}.sidebar nav{display:none;grid-column:1/-1;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 0 0;border-top:1px solid #eaf0f7;max-height:min(58dvh,440px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.sidebar.mobile-open nav{display:grid}.sidebar nav button{display:flex;align-items:center;flex:initial;width:100%;min-width:0;min-height:48px;padding:9px 10px;font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;text-align:left;border:1px solid transparent;border-radius:11px}.sidebar nav button svg{flex:0 0 auto;width:17px;height:17px}.sidebar nav button.active{border-color:#d4e5fa;box-shadow:inset 3px 0 0 #2477cf}.sidebar .logout{display:none;grid-column:1/-1;position:static;width:100%;min-height:45px;margin:0;padding:11px 13px;border:1px solid #f3e1e6;border-radius:10px;background:#fff8fa;font-size:12px;text-align:left}.sidebar.mobile-open .logout{display:flex}.content{width:100%;max-width:100%;min-width:0;margin:0 auto;padding:19px 13px 54px}.topbar{margin-bottom:16px;gap:8px}.topbar h1{font-size:clamp(20px,5.1vw,24px);letter-spacing:-.45px}.overline{font-size:9px;letter-spacing:2px}.syncbar{padding:10px 13px;margin-bottom:13px;gap:6px;font-size:12px}.syncbar strong{font-size:11px}.syncbar .btn{width:100%}.hero{min-height:0;padding:21px 18px;border-radius:16px;margin-bottom:15px;flex-direction:column;align-items:stretch;gap:17px}.hero p{margin:0 0 9px;font-size:9px;letter-spacing:1.4px}.hero h2{font-size:clamp(22px,5.5vw,27px);line-height:1.2;margin-bottom:10px}.hero span{display:block;font-size:12px;line-height:1.5}.hero .btn{width:100%;min-height:45px;white-space:normal;text-align:center}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.tile{min-width:0;min-height:128px;padding:15px 13px;gap:7px;border-radius:14px}.tile:before{width:25px;height:4px;margin-bottom:1px}.tile span{min-height:0;font-size:11px;line-height:1.4;overflow-wrap:break-word}.tile strong{font-size:28px;line-height:1.05;margin-top:auto}.tile small{font-size:11px}.panel{max-width:100%;min-width:0;padding:15px;border-radius:14px}.panel h3{font-size:16px;line-height:1.45;margin-bottom:14px}.fields{grid-template-columns:minmax(0,1fr);gap:3px}.fields .full{grid-column:auto}label{min-width:0;margin-bottom:13px;font-size:12px}input[type=file],label input,label select,label textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;font-size:16px;box-sizing:border-box}.tablewrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.tablewrap table{min-width:580px}.tablewrap td,.tablewrap th{padding:10px 11px}.tablewrap .linkbtn{min-width:56px;white-space:nowrap}.gpsline{flex-direction:column;align-items:stretch;gap:9px}.gpsline .btn{width:100%;min-height:45px}.actions{flex-wrap:wrap}.actions .btn{min-height:44px}.authwrap{padding:14px}.authcard{width:100%;max-width:480px;padding:22px 18px}.authcard .btn{min-height:45px}.empty{padding:25px 13px}}@media (max-width:345px){.sidebar nav{grid-template-columns:minmax(0,1fr)}.mobile-menu-toggle{min-width:96px;padding:8px}.sidelogo strong{font-size:12px}.kpis{gap:7px}.tile{padding:12px 9px}.tile span{font-size:10px}}