:root{font-family:Arial,Malgun Gothic,sans-serif;color:#16212b;background:#eef2f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{min-height:36px;border:1px solid #cbd5dc;border-radius:6px;padding:7px 12px;background:#fff;color:#17242d;font-weight:700;cursor:pointer}button:hover{border-color:#006c67}button:disabled{cursor:not-allowed;opacity:.55}button.primary{border-color:#006c67;background:#006c67;color:#fff}button.warning{border-color:#b77400;color:#8a5600}button.danger{border-color:#b42318;color:#b42318}input,select{width:100%;min-height:38px;border:1px solid #cbd5dc;border-radius:6px;padding:8px 10px;background:#fff;color:#16212b}input::placeholder{color:#93a1ab}label,.portal-field{display:grid;gap:6px;color:#526471;font-size:12px;font-weight:700}.portal-kicker{color:#00766f;font-size:11px;font-weight:800;letter-spacing:.08em}.portal-loading,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-connection-error{place-content:center;gap:12px;text-align:center}.portal-connection-error button{justify-self:center}.login-page{background:#e9eff1}.login-panel{width:min(100%,420px);display:grid;gap:16px;border:1px solid #d2dce1;padding:32px;background:#fff;box-shadow:0 18px 45px #1c2b341f}.login-panel h1{margin:8px 0;font-size:30px}.login-panel p{margin:0;color:#61727e}.error-message{margin:0;color:#b42318;font-weight:700}.portal-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.portal-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:22px 16px;background:#1e2a31;color:#fff}.portal-sidebar strong{display:block;margin-top:5px;font-size:19px}.portal-sidebar nav{display:grid;gap:5px;min-height:0;overflow-y:auto}.portal-sidebar nav button{border:0;text-align:left;background:transparent;color:#dbe4e8}.portal-sidebar nav button.active,.portal-sidebar nav button:hover{background:#33424a;color:#fff}.portal-user{display:grid;gap:4px;margin-top:auto}.portal-user small{color:#aebbc2}.portal-user button{margin-top:8px;background:#29373f;color:#fff}.portal-main{min-width:0;padding:22px 26px 40px}.portal-main>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.portal-main h1{margin:0 0 5px;font-size:26px}.portal-main header p,.section-title p{margin:0;color:#637581}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));border:1px solid #d4dde2;background:#fff}.metric-strip div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-right:1px solid #d4dde2;padding:13px 15px}.metric-strip div:last-child{border-right:0}.metric-strip span{color:#637581;font-size:12px}.metric-strip strong{font-size:22px}.workspace-section{margin-top:16px;border:1px solid #d4dde2;padding:18px;background:#fff}.workspace-section h2{margin:0 0 14px;font-size:18px}.section-title{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px}.compact-form{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));align-items:end;gap:12px}.subscription-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.module-selector{display:flex;flex-wrap:wrap;gap:10px 20px;margin:15px 0;border:1px solid #dbe3e7;padding:12px;background:#f7f9fa}.module-selector label{display:flex;align-items:center;gap:7px}.module-selector input{width:auto;min-height:auto}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.action-row label{min-width:220px}.empty-guidance{margin:0;border:1px dashed #cbd5dc;padding:14px;color:#637581;background:#f8fafb}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.portal-list-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.portal-list-controls form,.portal-list-controls>div{display:flex;align-items:center;gap:8px}.portal-list-controls form{width:min(100%,560px)}.portal-list-controls form input{min-width:180px}.portal-list-controls>div span{color:#637581;white-space:nowrap}.portal-list-controls>div strong{min-width:72px;text-align:center}.portal-reference-select{display:grid;gap:6px}.portal-field>span{line-height:1.2}.portal-reference-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.portal-reference-select .reference-error{color:#b42318;font-weight:700}.selectable-table{max-width:100%;margin-top:16px;overflow:auto;border:1px solid #d4dde2}table{width:100%;min-width:780px;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #e2e8ec;padding:10px 11px;text-align:left;vertical-align:top}th{position:sticky;top:0;background:#f4f7f8;color:#586a76;font-size:11px}tbody tr:hover,tbody tr.selected{background:#eef8f6}td small{color:#71828d}td.empty{padding:24px;color:#71828d;text-align:center}.secret-panel{display:grid;gap:7px;margin-bottom:14px;border:1px solid #d5a33d;padding:14px;background:#fff8e8}.secret-panel code{overflow-wrap:anywhere;border:1px solid #e5d3a8;padding:8px;background:#fff}.secret-panel button{justify-self:start}.portal-toast{position:fixed;right:22px;bottom:22px;z-index:20;max-width:min(440px,calc(100vw - 44px));border:1px solid #74a49c;padding:13px 16px;background:#eaf7f4;box-shadow:0 8px 24px #16212b2e;font-weight:700}.portal-toast.error{border-color:#d58c85;background:#fff0ee;color:#9b271e}.portal-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#141f2685}.portal-confirm-dialog{width:min(100%,440px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #cbd5dc;padding:20px;background:#fff;box-shadow:0 20px 50px #00000038}.portal-confirm-dialog h2{margin:0 0 10px;font-size:19px}.portal-confirm-dialog p{margin:0 0 18px;line-height:1.55}.portal-confirm-dialog div{display:flex;justify-content:flex-end;gap:8px}@media(max-width:1100px){.metric-strip{grid-template-columns:repeat(3,1fr)}.compact-form,.subscription-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.portal-shell{display:block}.portal-sidebar{position:static;width:100%;height:auto;gap:14px}.portal-sidebar nav{display:flex;overflow-x:auto}.portal-sidebar nav button{white-space:nowrap}.portal-user{display:flex;align-items:center;gap:10px;margin-top:0}.portal-user button{margin:0 0 0 auto}.portal-main{padding:16px}.metric-strip{grid-template-columns:1fr 1fr}.compact-form,.subscription-form{grid-template-columns:1fr}.portal-list-controls{align-items:stretch;flex-direction:column}.portal-list-controls form{width:100%;flex-wrap:wrap}.portal-list-controls form input{flex:1 1 180px}.portal-list-controls>div{justify-content:space-between}}
