:root{--teal-50:#f0faf8;--teal-100:#d1f0ea;--teal-200:#a3e0d5;--teal-300:#6ecbbc;--teal-400:#4ab8a8;--teal-500:#3ba99c;--teal-600:#2e8a7f;--teal-700:#246b63;--teal-800:#1a4d48;--teal-900:#102f2c;--sl50:#fafbfa;--sl100:#f0f4f2;--sl200:#e0e8e5;--sl300:#c4d1cc;--sl400:#9bb0a8;--sl500:#7a9a90;--sl600:#5f7a72;--sl700:#485c56;--sl800:#2c3e3a;--sl900:#1a2724;--white:#fff;--page:var(--sl50);--surf:var(--white);--navy:#1b2a4a;--pri:var(--teal-500);--pri-hov:var(--teal-600);--txt:var(--sl800);--txt2:var(--sl600);--txtm:var(--sl500);--txtp:var(--sl400);--bdr:var(--sl200);--bdr-lt:var(--sl100);--succ:#16a34a;--succ-bg:#f0fdf4;--warn:#d4a017;--warn-bg:#fffbeb;--dang:#dc2626;--dang-bg:#fef2f2;--info:#2563eb;--info-bg:#eff6ff;--fd:"Playfair Display",Georgia,serif;--fb:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:9999px;--sh-xs:0 1px 2px #0000000a;--sh-sm:0 1px 3px #0000000f;--sh-md:0 4px 12px #0000000f;--sh-lg:0 8px 24px #00000014;--sh-xl:0 16px 48px #0000001a;--sh-f:0 0 0 3px #3ba99c26}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--fb);background:var(--page);color:var(--txt);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--fd);color:var(--sl800)}button{font-family:var(--fb);cursor:pointer;background:0 0;border:none}a{color:var(--pri);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font-family:var(--fb)}.btn{font-weight:600;font-family:var(--fb);justify-content:center;align-items:center;gap:6px;transition:all .12s;display:inline-flex}.btn-m{border-radius:var(--r-md);padding:9px 18px;font-size:12px}.btn-l{border-radius:var(--r-md);padding:11px 22px;font-size:13px}.btn-s{border-radius:var(--r-sm);padding:5px 12px;font-size:11px}.btn-p{background:var(--pri);color:#fff}.btn-p:hover{background:var(--pri-hov)}.btn-2{background:var(--white);color:var(--txt);border:1.5px solid var(--bdr)}.btn-2:hover{border-color:var(--pri);color:var(--pri)}.btn-g{color:var(--txt2);background:0 0}.btn-g:hover{background:var(--sl100)}.btn-d{background:var(--dang);color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus{box-shadow:var(--sh-f);outline:none}.btn-block{width:100%}.fl{color:var(--txtm);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.fh{color:var(--txtm);margin-top:4px;font-size:10px}.fe{color:var(--dang);margin-top:4px;font-size:10px;font-weight:600}.inp{border:1.5px solid var(--bdr);border-radius:var(--r-md);background:var(--white);width:100%;color:var(--txt);padding:10px 12px;font-size:13px;transition:all .12s}.inp:focus{border-color:var(--pri);box-shadow:var(--sh-f);outline:none}.inp::placeholder{color:var(--txtp)}.inp-e{border-color:var(--dang)}.fg{margin-bottom:14px}.bd{border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.3px;border:1px solid;padding:2px 9px;font-size:10px;font-weight:700;display:inline-flex}.bd-p{background:var(--teal-50);color:var(--teal-700);border-color:var(--teal-200)}.bd-s{background:var(--succ-bg);color:var(--succ);border-color:#9ecfb2}.bd-w{background:var(--warn-bg);color:var(--warn);border-color:#f0c984}.bd-d{background:var(--dang-bg);color:var(--dang);border-color:#f0a89e}.bd-i{background:var(--info-bg);color:var(--info);border-color:#b5cde0}.bd-n{background:var(--sl100);color:var(--sl600);border-color:var(--sl300)}.al{border-radius:var(--r-md);align-items:flex-start;gap:10px;margin-bottom:14px;padding:11px 16px;font-size:12px;line-height:1.5;display:flex}.al-i{flex-shrink:0;margin-top:1px;font-size:14px}.al-d{background:var(--dang-bg);color:#991b1b;border-left:3px solid var(--dang)}.al-w{background:var(--warn-bg);color:#92400e;border-left:3px solid var(--warn)}.al-n{background:var(--teal-50);color:var(--teal-700);border-left:3px solid var(--pri)}.al-s{background:var(--succ-bg);color:#15803d;border-left:3px solid var(--succ)}@keyframes spin{to{transform:rotate(360deg)}}.spn{border:2.5px solid var(--sl200);border-top-color:var(--pri);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}.login-stage{background:linear-gradient(#fafbfa 0%,#f0faf8 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.login-card{background:var(--white);border:1px solid var(--bdr);border-radius:var(--r-xl);box-shadow:var(--sh-lg);width:100%;max-width:420px;padding:36px 32px}.login-card .brand{justify-content:center;align-items:center;margin-bottom:22px;display:flex}.login-card .brand img{object-fit:contain;width:auto;height:42px}.login-card h2{text-align:center;margin-bottom:4px;font-size:18px}.login-card .lead{color:var(--txtm);text-align:center;margin-bottom:22px;font-size:12px}.login-divider{color:var(--txtp);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:10px;margin:18px 0;font-size:10px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--bdr);flex:1;height:1px}.dev-banner{border-radius:var(--r-md);color:#92400e;background:#fffbeb;border:1px dashed #f0c984;margin-bottom:16px;padding:10px 12px;font-size:11px}.dev-banner strong{color:#7c2d12}.selector-stage{background:var(--page);flex-direction:column;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.selector-head{text-align:center;max-width:560px;margin-bottom:28px}.selector-head h2{margin-bottom:6px;font-size:24px}.selector-head p{color:var(--txtm);font-size:13px}.org-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;width:100%;max-width:760px;display:grid}.org-card{background:var(--white);border:1.5px solid var(--bdr);border-radius:var(--r-lg);cursor:pointer;padding:18px;transition:all .15s}.org-card:hover{border-color:var(--pri);box-shadow:var(--sh-md);transform:translateY(-1px)}.org-card .head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.org-card .av{color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:flex}.org-card .nm{color:var(--sl800);font-size:14px;font-weight:700;line-height:1.3}.org-card .meta{color:var(--txtm);margin-top:1px;font-size:11px}.org-card .role-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.shell{background:var(--page);grid-template-columns:200px 1fr;min-height:100vh;display:grid}.sb{background:var(--white);border-right:1px solid var(--bdr);flex-direction:column;padding:14px 0;font-size:11px;display:flex}.sb .brand{border-bottom:1px solid var(--bdr-lt);align-items:center;gap:8px;padding:0 14px 12px;display:flex}.sb .brand img{object-fit:contain;background:#fff;border-radius:5px;width:22px;height:22px;padding:1px}.sb .brand .name{font-family:var(--fd);color:var(--navy);font-size:13px;font-weight:700}.sb .org{background:var(--sl100);color:var(--sl700);cursor:pointer;border-radius:5px;align-items:center;gap:6px;margin:8px 8px 4px;padding:7px 10px;font-size:10px;font-weight:600;display:flex}.sb .org .av{color:#fff;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:7px;font-weight:800;display:flex}.sb .nav{flex:1;padding:6px 6px 0}.sb .nav a{color:var(--sl500);cursor:pointer;border-radius:4px;align-items:center;gap:6px;margin-bottom:1px;padding:6px 8px;font-weight:600;text-decoration:none;display:flex}.sb .nav a:hover{background:var(--sl50);text-decoration:none}.sb .nav a.act{color:var(--pri);background:#3ba99c1a}.sb .nav .ic{justify-content:center;width:12px;font-size:11px;display:inline-flex}.sb .help{border-top:1px solid var(--bdr-lt);color:var(--sl500);cursor:pointer;padding:8px 14px;font-size:9px}.canvas{padding:24px 28px;overflow:auto}.tb{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.tb h3{font-size:18px}.tb .tb-r{align-items:center;gap:10px;display:flex}.bell{background:var(--white);border:1px solid var(--bdr);width:32px;height:32px;color:var(--txt2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex;position:relative}.bell .dot{background:var(--dang);border:2px solid var(--white);border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:6px}.av-user{background:var(--pri);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:flex}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{background:var(--white);border:1px solid var(--bdr);border-radius:var(--r-lg);padding:16px}.stat .lbl{color:var(--txtm);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.stat .val{font-family:var(--fd);color:var(--sl800);margin-top:4px;font-size:24px;font-weight:700}.va-overlay{background:var(--white);border:1px solid var(--bdr);border-radius:var(--r-lg);width:380px;box-shadow:var(--sh-xl);z-index:50;position:fixed;top:60px;right:18px;overflow:hidden}.va-head{background:linear-gradient(135deg,var(--teal-500),var(--teal-700));color:#fff;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.va-head .ttl{align-items:center;gap:8px;display:flex}.va-head .ttl .ic{background:#fff3;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.va-head h4{font-family:var(--fd);color:#fff;margin:0;font-size:14px}.va-head .ver{color:#ffffffd9;font-size:10px}.va-head .x{color:#fff;cursor:pointer;background:#ffffff26;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;display:flex}.va-body{max-height:380px;padding:16px;overflow:auto}.va-summary{background:var(--teal-50);border:1px solid var(--teal-200);border-radius:var(--r-md);color:var(--teal-700);margin-bottom:14px;padding:10px 12px;font-size:12px;line-height:1.5}.va-item{border-bottom:1px solid var(--bdr-lt);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.va-item:last-child{border-bottom:none}.va-item .ic2{background:var(--teal-50);width:28px;height:28px;color:var(--teal-700);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.va-item .body{flex:1}.va-item .h{color:var(--sl800);margin-bottom:2px;font-size:12px;font-weight:700}.va-item .b{color:var(--txtm);font-size:11px;line-height:1.5}.va-foot{background:var(--sl50);border-top:1px solid var(--bdr-lt);justify-content:flex-end;align-items:center;padding:10px 16px;display:flex}
