:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}:root{--color-bg: #f7f9fb;--color-panel: #ffffff;--color-primary: #1D617A;--color-secondary: #FF914C;--color-text: #0f172a;--color-muted: #6b7280;--shadow-soft: 0 10px 30px rgba(15, 23, 42, .08);--radius-lg: 18px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;text-align:initial}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 12% 10%,#e7f1f8 0,#fff 40%,#f5f7fb);color:var(--color-text);overflow:hidden}.app-root{width:100%;height:100%;position:relative}.app-shell{display:none;grid-template-columns:minmax(240px,270px) minmax(0,1fr);grid-template-rows:1fr;gap:16px;padding:18px clamp(12px,3vw,26px);width:100%;height:100%;max-width:1700px;margin:0 auto}.app-shell.is-visible{display:grid}.app-shell.sidebar-collapsed{grid-template-columns:52px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar-body{display:none}.app-shell.sidebar-collapsed .brand{border-bottom:none;justify-content:center}.app-shell.sidebar-collapsed .brand-main{display:none}.sidebar{background:#ffffffe6;border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-lg);box-shadow:0 22px 50px #0f172a1a;padding:16px 14px 18px;display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden}.brand{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.35)}.brand-main{display:flex;flex-direction:column;gap:4px}.brand-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--color-primary)}.brand-dot{width:10px;height:10px;border-radius:999px;background:radial-gradient(circle at 25% 20%,#ffffff 0,var(--color-secondary) 60%,#c05621 100%);box-shadow:0 0 10px #ff914cb3}.brand-subtitle{font-size:13px;color:var(--color-muted)}.sidebar-toggle{border:1px solid rgba(148,163,184,.55);background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:var(--color-text);border-radius:10px;width:34px;height:28px;cursor:pointer;transition:transform .2s ease-out,box-shadow .2s ease-out}.menu-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-top:4px;margin-bottom:6px}.menu{display:flex;flex-direction:column;gap:6px}.sidebar-body{flex:1;min-height:0;overflow-y:auto;padding-right:6px}.menu-button,.submenu-button{width:100%;border:none;border-radius:12px;padding:9px 10px;font-size:14px;text-align:left;background:transparent;color:var(--color-text);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s ease-out,transform .2s ease-out}.menu-button span.icon,.submenu-button span.icon{font-size:15px}.menu-button span.label,.submenu-button span.label{flex:1}.menu-button:hover,.submenu-button:hover{background:#94a3b81f;transform:translateY(-1px)}.submenu-button.is-active,.menu-button.is-active-root{background:#1d617a24;color:var(--color-primary)}.menu-button.section-toggle{font-weight:500;font-size:13px}.section-chevron{font-size:11px;color:var(--color-muted)}.submenu{margin-left:12px;margin-top:4px;display:none;flex-direction:column;gap:4px}.submenu.open{display:flex}.submenu-tag{font-size:11px;color:var(--color-muted);background:#94a3b829;border-radius:999px;padding:2px 8px}.sidebar-footer{border-top:1px solid rgba(148,163,184,.35);padding-top:10px;font-size:12px;color:var(--color-muted);display:flex;flex-direction:column;gap:8px}.logout-button{border:none;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:500;cursor:pointer;background:linear-gradient(135deg,#1d617a,#2196b6);color:#fff;transition:transform .15s ease-out,box-shadow .15s ease-out}.logout-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f172a38}.content{background:linear-gradient(180deg,#fff,#f8fafc);border-radius:18px;padding:18px;box-shadow:0 18px 40px #0f172a14;display:flex;flex-direction:column;gap:12px;min-height:0;border:1px solid #e5e7eb}.content-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 4px}.content-header .title{font-size:18px;font-weight:600;color:var(--color-text)}.content-header #content-subtitle{font-size:14px;color:var(--color-muted)}.content-frame-wrapper{flex:1;min-height:0;border-radius:16px;overflow:hidden;background:#f8fafc;border:1px solid #e5e7eb;box-shadow:0 20px 40px #0f172a0f}.legacy-iframe{width:100%;height:100%;border:none;background:#fff}.splash-overlay{position:fixed;inset:0;background:radial-gradient(circle at top left,#fef6ee 0,#f5f3ff 35%,#0f172a 120%);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .7s ease-out,transform .7s ease-out,visibility .7s ease-out}.splash-card{background:#fffffff5;padding:26px 32px 24px;border-radius:20px;box-shadow:0 22px 60px #0f172a59;display:flex;flex-direction:column;align-items:center;gap:10px;transform:translateY(8px);animation:splash-pop 1s ease-out forwards}.splash-logo-wrapper{display:flex;align-items:center;justify-content:center;padding-bottom:4px;border-bottom:1px solid rgba(148,163,184,.45);margin-bottom:6px;width:220px}.splash-logo{max-width:220px;height:auto;display:block}.splash-text-main{font-size:16px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#1d617a}.splash-text-sub{font-size:13px;color:#6b7280}.login-overlay{position:fixed;inset:0;background:radial-gradient(circle at top right,#e5f1f6 0,#fff 45%,#f3f4f6);display:flex;align-items:center;justify-content:center;z-index:9998;transition:opacity .5s ease-out,transform .5s ease-out,visibility .5s ease-out}.login-card{background:#fff;padding:24px 26px 22px;border-radius:18px;box-shadow:0 18px 45px #0f172a2e;max-width:360px;width:100%;display:flex;flex-direction:column;gap:14px}.login-title{font-size:18px;font-weight:600;color:#1d617a;margin:0}.login-subtitle{font-size:13px;color:var(--color-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:10px;margin-top:8px}.login-label{font-size:13px;color:var(--color-text);display:flex;flex-direction:column;gap:4px}.login-input{border-radius:10px;border:1px solid rgba(148,163,184,.7);padding:7px 9px;font-size:13px;outline:none;transition:border-color .15s ease-out,box-shadow .15s ease-out}.login-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px #1d617a33}.login-error{min-height:16px;font-size:12px;color:#b91c1c}.login-button{margin-top:4px;border:none;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:500;cursor:pointer;background:linear-gradient(135deg,#1d617a,#2196b6);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s ease-out,box-shadow .15s ease-out,opacity .15s ease-out}.login-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f172a38;opacity:.96}@keyframes splash-pop{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:900px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{min-height:unset}}
