:root{--bg: #0c0e13;--bg-elev: #11141b;--panel: #151922;--panel-2: #1b2029;--line: rgba(255,255,255,.07);--line-strong: rgba(255,255,255,.12);--txt: #e7eaf0;--txt-dim: #9aa3b2;--txt-faint: #626b7b;--kin: #5a80cf;--kin-2: #4568b0;--kin-soft: #aac2ee;--shu: #e5675a;--hisui: #3fae82;--ai: #5a80cf;--brand: var(--kin);--brand-2: var(--kin-2);--radius: 12px;--radius-sm: 9px;--shadow: 0 12px 34px -16px rgba(0,0,0,.6);--glow: 0 1px 0 rgba(255,255,255,.03);--input-bg: #0e1117;--thead-bg: #10131a;--sidebar-grad: linear-gradient(180deg,#0e1118,#0a0c11);--topbar-bg: rgba(12,14,19,.72);--scroll-thumb: #2a2f3a;--row-hover: rgba(90,128,207,.055);--hover: rgba(255,255,255,.045);--sidebar-w: 256px;--sidebar-w-collapsed: 72px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=light]{--bg: #f5f6f9;--bg-elev: #ffffff;--panel: #ffffff;--panel-2: #eef1f5;--line: rgba(15,23,42,.09);--line-strong: rgba(15,23,42,.15);--txt: #141824;--txt-dim: #515a68;--txt-faint: #7c8593;--kin: #3767c9;--kin-2: #2b53a8;--kin-soft: #2b53a8;--shu: #c9463a;--hisui: #1f9769;--ai: #3767c9;--shadow: 0 12px 32px -18px rgba(30,41,59,.28);--glow: 0 1px 0 rgba(15,23,42,.03);--input-bg: #ffffff;--thead-bg: #eef1f5;--sidebar-grad: linear-gradient(180deg,#eef1f6,#e6eaf1);--topbar-bg: rgba(245,246,249,.8);--scroll-thumb: #cbd2dc;--row-hover: rgba(55,103,201,.06);--hover: rgba(15,23,42,.05)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--txt);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;letter-spacing:-.006em;transition:background .25s ease,color .25s ease}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#33333f}::selection{background:#5a80cf4d;color:#fff}.shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);position:sticky;top:0;height:100vh;background:var(--sidebar-grad);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 14px;gap:4px;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:6px 8px 16px}.brand>div{min-width:0}.brand .word{font-size:17px;font-weight:700;letter-spacing:.1em;white-space:nowrap;line-height:1.1}.brand .word .k{color:var(--kin)}.jp{color:var(--kin);font-weight:700;font-style:normal}.brand span{display:block;font-size:10.5px;color:var(--txt-faint);font-weight:500;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav{display:flex;flex-direction:column;gap:2px;margin-top:2px;overflow-y:auto}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--txt-faint);padding:14px 12px 6px;font-weight:700}.nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--txt-dim);font-weight:500;font-size:13.5px;transition:.16s ease;position:relative}.nav a svg{width:18px;height:18px;flex:0 0 auto;opacity:.85}.nav a:hover{background:var(--hover);color:var(--txt)}.nav a.active{background:linear-gradient(90deg,#5a80cf26,#5a80cf05);color:var(--kin-soft)}.nav a.active svg{opacity:1;color:var(--kin)}.nav a.active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:3px;background:var(--kin);box-shadow:0 0 12px var(--kin)}.sidebar .foot{margin-top:auto;border-top:1px solid var(--line);padding-top:12px}.userbox{display:flex;align-items:center;gap:10px;padding:8px}.userbox .av{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--kin),var(--kin-2));display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff}.userbox .who{font-size:13px;font-weight:600;min-width:0}.userbox .who small{display:block;color:var(--txt-faint);font-weight:500;text-transform:capitalize}.main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:20px 32px;border-bottom:1px solid var(--line);background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.topbar h1{font-size:22px;margin:0;font-weight:750;letter-spacing:-.02em}.topbar .sub{color:var(--txt-faint);font-size:12.5px;margin-top:2px}.topbar .spacer{flex:1}.content{padding:28px 32px 64px;max-width:1480px;width:100%;position:relative}.grid{display:grid;gap:16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{background:linear-gradient(180deg,var(--panel),var(--bg-elev));border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow);position:relative;overflow:hidden}.card.pad0{padding:0}.stat .k{font-size:12px;color:var(--txt-dim);font-weight:600;display:flex;align-items:center;gap:8px}.stat .k svg{width:16px;height:16px;color:var(--kin)}.stat .v{font-size:32px;font-weight:750;letter-spacing:-.02em;margin-top:12px;font-variant-numeric:tabular-nums;font-family:var(--mono)}.stat .d{font-size:12px;color:var(--txt-faint);margin-top:5px}.card h3{margin:0 0 15px;font-size:14px;font-weight:700;letter-spacing:-.01em}.tablewrap{overflow:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{position:sticky;top:0;background:var(--thead-bg);text-align:left;padding:12px 15px;font-weight:600;color:var(--txt-dim);border-bottom:1px solid var(--line-strong);white-space:nowrap;z-index:1;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}tbody td{padding:11px 15px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:hover{background:var(--row-hover)}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}.mono{font-family:var(--mono)}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:7px;font-size:11.5px;font-weight:600;border:1px solid var(--line-strong);color:var(--txt-dim)}.chip.nexi{background:#6d78d621;color:#aeb6f0;border-color:#6d78d652}.chip.intesa{background:#46b98a1f;color:#7fe0b6;border-color:#46b98a4d}.chip.chianti,.chip.sinergia{background:#e8b44a21;color:var(--kin-soft);border-color:#e8b44a52}.chip.unicredit{background:#e05a431f;color:#f0a08f;border-color:#e05a434d}.chip.ok{background:#46b98a24;color:#7fe0b6;border-color:#46b98a52}.chip.fail,.chip.danger{background:#e05a4324;color:#f0a08f;border-color:#e05a4352}.chip.warn{background:#e8b44a24;color:var(--kin-soft);border-color:#e8b44a52}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-2);color:var(--txt);font-weight:600;font-size:13px;transition:.16s}.btn:hover{border-color:var(--kin);background:var(--panel-2)}.btn svg{width:16px;height:16px}.btn.primary{background:var(--kin);border:none;color:#fff;box-shadow:0 6px 18px -10px #5a80cf99}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent}.btn.danger{color:#f0a08f;border-color:#e05a4352}.btn.danger:hover{background:#e05a431f;border-color:var(--shu)}.btn.sm{padding:6px 11px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar .spacer{flex:1}input.in,select.in{background:var(--input-bg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 12px;color:var(--txt);font-size:13px;outline:none;transition:.16s;width:100%}input.in:focus,select.in:focus{border-color:var(--kin);box-shadow:0 0 0 3px #5a80cf2e}label.fld{display:block}label.fld>span{display:block;font-size:12px;color:var(--txt-dim);margin-bottom:6px;font-weight:600}.login-split{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.login-hero{position:relative;overflow:hidden;display:grid;place-items:center;padding:56px;background:radial-gradient(130% 130% at 18% 8%,#182035,#0b0e16 55%,#070810);color:#e7eaf0}.login-panel{display:grid;place-items:center;padding:28px;background:var(--bg);background-image:radial-gradient(120% 80% at 50% -20%,rgba(90,128,207,.09),transparent 55%)}.login-hero .aurora{position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:0;filter:blur(70px);opacity:.5}.login-hero .aurora i{position:absolute;width:46%;height:46%;border-radius:50%}.login-hero .aurora i:nth-child(1){left:6%;top:4%;background:radial-gradient(circle,#4f6fd6,transparent 70%);animation:drift1 22s ease-in-out infinite}.login-hero .aurora i:nth-child(2){right:2%;top:18%;background:radial-gradient(circle,#7a52c8,transparent 70%);animation:drift2 26s ease-in-out infinite}.login-hero .aurora i:nth-child(3){left:22%;bottom:-8%;background:radial-gradient(circle,#2f8f93,transparent 70%);animation:drift1 30s ease-in-out infinite reverse}@keyframes drift1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(14%,10%) scale(1.18)}}@keyframes drift2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-12%,-8%) scale(1.12)}}.login-hero .hero-kanji{position:absolute;right:-1%;bottom:-12%;z-index:0;font-size:44vh;line-height:.8;font-weight:800;color:#fff;opacity:.035;-webkit-user-select:none;user-select:none;pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:460px}.hero-knot{width:150px;height:118px;display:block;overflow:visible;filter:drop-shadow(0 10px 30px rgba(90,128,207,.4));animation:floaty 6s ease-in-out infinite}.hero-knot .ring{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:226;stroke-dashoffset:226;animation:draw 1.9s cubic-bezier(.6,0,.2,1) forwards}.hero-knot .ring.r2{animation-delay:.35s}.hero-knot .knot-dot{fill:var(--kin-soft);opacity:0;animation:pop .5s ease 2s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.hero-word{font-size:40px;font-weight:800;letter-spacing:.14em;margin-top:26px}.hero-word .jp{color:var(--kin);font-size:.58em;letter-spacing:0;margin-left:.35em;vertical-align:6px}.hero-tag{color:#9aa3b2;font-size:15px;line-height:1.65;margin:16px 0 0;max-width:420px}.hero-tag b{color:#e7eaf0;font-weight:600}.hero-flow{display:flex;align-items:center;gap:9px;margin-top:28px;flex-wrap:wrap}.hero-flow span{font-size:11.5px;font-weight:600;color:#9aa3b2;padding:5px 11px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#ffffff08}.hero-flow i{width:14px;height:1px;background:linear-gradient(90deg,var(--kin),transparent)}@media(prefers-reduced-motion:reduce){.login-hero .aurora i,.hero-knot,.hero-knot .ring,.hero-knot .knot-dot{animation:none}.hero-knot .ring{stroke-dashoffset:0}.hero-knot .knot-dot{opacity:1}}@media(max-width:920px){.login-split{grid-template-columns:1fr}.login-hero{min-height:38vh;padding:40px 28px}.hero-word{font-size:32px}.hero-knot{width:112px;height:90px}.hero-kanji{font-size:30vh}}.login-card{position:relative;width:400px;max-width:92vw;padding:34px 32px;background:var(--panel);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow)}.login-card .mark{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-card .mark .wd{font-size:20px;font-weight:800;letter-spacing:.14em}.login-card .mark small{display:block;font-size:11px;color:var(--txt-faint);letter-spacing:.02em;font-weight:500;margin-top:3px}.login-card h2{margin:0 0 4px;font-size:19px;letter-spacing:-.01em}.login-card p.muted{color:var(--txt-dim);margin:0 0 22px;font-size:13px}.login-card .field{margin-bottom:14px}.login-card .btn.primary{width:100%;justify-content:center;padding:12px;font-size:14px;margin-top:8px}.logo-mark{flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:var(--panel-2);border:1px solid var(--line-strong);color:var(--kin)}.err{background:#e05a431a;border:1px solid rgba(224,90,67,.32);color:#f0a08f;padding:10px 13px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:15px}.qrbox{display:grid;place-items:center;gap:14px;text-align:center}.qrbox img{border-radius:14px;background:#fff;padding:12px}.secret-code{font-family:var(--mono);font-size:13px;background:var(--input-bg);border:1px solid var(--line-strong);padding:8px 12px;border-radius:8px;word-break:break-all;color:var(--kin-soft)}.otp-input{letter-spacing:.5em;text-align:center;font-family:var(--mono);font-size:24px}.muted{color:var(--txt-dim)}.faint{color:var(--txt-faint)}.pos{color:var(--hisui)}.neg{color:var(--shu)}.center{display:grid;place-items:center;min-height:60vh;text-align:center;color:var(--txt-dim);gap:12px}.spinner{width:30px;height:30px;border:3px solid var(--line-strong);border-top-color:var(--kin);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-enter{animation:rise .4s cubic-bezier(.16,1,.3,1)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--txt-faint);font-weight:700;margin:26px 0 12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040407ad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:50;padding:20px}.modal{width:540px;max-width:95vw;max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line-strong);border-radius:18px;box-shadow:var(--shadow)}.modal.wide{width:1040px;max-width:96vw}.modal header{display:flex;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.modal header h3{margin:0;font-size:16px}.modal .body{padding:22px;display:grid;gap:14px}.modal footer{padding:16px 22px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.iconbtn{background:transparent;border:none;color:var(--txt-faint);padding:6px;border-radius:8px;display:grid;place-items:center}.iconbtn:hover{background:var(--hover);color:var(--txt)}.iconbtn svg{width:17px;height:17px}.sidebar{transition:width .22s ease,flex-basis .22s ease,padding .22s ease}.sidebar-toggle{position:absolute;top:20px;right:-12px;width:24px;height:24px;border-radius:50%;background:var(--panel-2);border:1px solid var(--line-strong);color:var(--txt-dim);display:grid;place-items:center;z-index:12;box-shadow:var(--shadow)}.sidebar-toggle:hover{color:var(--kin);border-color:var(--kin)}.sidebar-toggle svg{width:13px;height:13px;transition:transform .22s ease}.sidebar.collapsed{width:var(--sidebar-w-collapsed);flex:0 0 var(--sidebar-w-collapsed);padding:18px 12px}.sidebar.collapsed .brand{justify-content:center;padding:6px 0 16px}.sidebar.collapsed .brand>div,.sidebar.collapsed .nav .label,.sidebar.collapsed .nav-label,.sidebar.collapsed .userbox .who,.sidebar.collapsed .nav a .badge{display:none}.sidebar.collapsed .nav a{justify-content:center;padding:11px 0}.sidebar.collapsed .nav a.active:before{display:none}.sidebar.collapsed .userbox{justify-content:center;padding:8px 0}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.tb-actions{display:flex;align-items:center;gap:6px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--txt-dim)}.theme-toggle:hover{color:var(--kin);border-color:var(--kin)}.theme-toggle svg{width:18px;height:18px}@media(prefers-reduced-motion:reduce){.page-enter{animation:none}*{scroll-behavior:auto}.sidebar{transition:none}}@media(max-width:860px){.sidebar{position:fixed;transform:translate(-100%);transition:.25s}.sidebar.open{transform:none}.content{padding:18px}}
