*{box-sizing:border-box}:root{--ink:#182130;--muted:#7d8798;--line:#e6e9ef;--purple:#6d50db;--soft:#f0edff;--bg:#f7f8fb}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif}button,input,select{font:inherit}.hidden{display:none!important}.login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.splash{background:linear-gradient(145deg,#30265e,#5941bb 58%,#7659e7);color:#fff;padding:10%;display:flex;flex-direction:column;justify-content:center}.logo{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:#6d50db;color:white;font-weight:900;font-size:20px}.logo.big{width:58px;height:58px;background:white;color:#6248cc;margin-bottom:75px}.splash small,.login form>small{font-size:10px;letter-spacing:.15em;font-weight:800;color:#cec4ff}.splash h1{font-size:clamp(42px,4vw,68px);line-height:1.06;letter-spacing:-.05em;margin:18px 0}.splash h1 em{font-style:normal;color:#c8bbff}.splash p{max-width:580px;color:#ddd8f7;font-size:17px;line-height:1.7}.login form{width:min(430px,84%);margin:auto;display:flex;flex-direction:column;gap:18px}.login form h2{font-size:30px;margin:0}.login form>p{color:var(--muted);margin:-8px 0 3px}.login label,.modal label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:7px}.login input,.modal input,.modal select,.tools input{padding:13px;border:1px solid #dfe3ea;border-radius:9px;outline:none}.login form button,.modal form button,.primary{padding:12px 16px;border:0;border-radius:9px;background:linear-gradient(135deg,#7c60ec,#6246d2);color:white;font-weight:700}.brand.mobile{display:none}.error{color:#bc3544;font-size:11px;min-height:13px}.shell>aside{position:fixed;inset:0 auto 0 0;width:245px;padding:24px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px}.brand>div:last-child{display:flex;flex-direction:column}.brand span,.company small,.profile small{font-size:9px;color:#929baa}.company{display:flex;flex-direction:column;padding:10px 12px;background:#f7f6fc;border:1px solid #ebe8f8;border-radius:9px;margin-bottom:20px}.company b{font-size:12px;margin-top:3px}nav{display:flex;flex-direction:column;gap:3px;flex:1}nav button{border:0;background:transparent;text-align:left;padding:10px;border-radius:8px;color:#697486;font-size:12px;font-weight:600}nav button span{display:inline-block;width:28px;font-size:16px}nav button.active{background:var(--soft);color:#6047cb}.profile{border:0;border-top:1px solid var(--line);background:none;padding:14px 2px 0;display:flex;align-items:center;gap:9px;text-align:left;color:#8a93a1}.profile>i,.header-actions>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#eae5ff;color:#6247ce;font-size:10px;font-style:normal;font-weight:800}.profile>span{display:flex;flex:1;flex-direction:column}.profile b{font-size:11px}.shell>main{margin-left:245px;min-height:100vh}.shell header{height:90px;background:#fff;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between}.shell header h1{font-size:22px;margin:0 0 4px}.shell header p{font-size:11px;color:#8b95a4;margin:0}.header-actions{display:flex;gap:10px;align-items:center}.header-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;color:#707a89;font-size:11px}.content{padding:24px 31px;max-width:1500px;margin:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:17px}.cards article,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.cards article{display:flex;align-items:center;gap:13px}.cards article>i{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-style:normal}.violet{background:#eeeaff;color:#694cda}.green{background:#e6f7ef;color:#169663}.orange{background:#fff0dd;color:#df8122}.blue{background:#e5f3ff;color:#3785ca}.cards article>div{display:flex;flex-direction:column}.cards span,.cards small,.panel p{font-size:10px;color:#8791a1}.cards strong{font-size:22px;margin:2px 0}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:17px}.panel h3{font-size:14px;margin:0 0 5px}.chart{height:230px;display:flex;align-items:flex-end;gap:7%;padding:20px 30px 0;border-bottom:1px solid var(--line)}.chart>div{height:100%;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:8px;color:#929baa;font-size:9px}.chart i{display:block;width:25px;background:linear-gradient(#876ced,#674bd4);border-radius:5px 5px 0 0}.movements>div{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.movements i,.tr>span:first-child>i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eeeaff;color:#684cd4;font-size:8px;font-weight:800;font-style:normal}.movements span{display:flex;flex:1;flex-direction:column}.movements b{font-size:10px}.movements small,.movements time{font-size:9px;color:#929baa}.head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:17px}.tools{display:flex;margin-bottom:15px}.tools input{flex:1}.table .tr{display:grid;grid-template-columns:1.4fr .8fr 1fr .6fr;align-items:center;padding:12px 8px;border-bottom:1px solid var(--line);font-size:11px;color:#687384}.tr.th{background:#fafbfc;color:#929baa;font-size:9px;text-transform:uppercase}.tr>span:first-child{display:flex;align-items:center;gap:8px;color:#263042}.tr>span:first-child>b{display:flex;flex-direction:column}.tr>span:first-child small{font-size:8px;color:#929baa;font-weight:400}.pill{font-style:normal;border-radius:14px;padding:5px 8px;font-size:9px}.pill.green{background:#e6f7ef;color:#168d5f}.data{min-height:590px}.empty{text-align:center;color:#929baa;font-size:11px;padding:25px}.empty.large{padding:150px 20px}.qr-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:17px}.qr-card{text-align:center;min-height:650px;display:flex;align-items:center;flex-direction:column;justify-content:center}.live{font-size:9px;color:#18885e;background:#e7f8f0;border-radius:20px;padding:7px 10px}.qr{width:240px;height:240px;display:grid;place-items:center;margin:20px;border:16px solid white;outline:1px solid var(--line);border-radius:18px;background:repeating-conic-gradient(#17202c 0 25%,#fff 0 50%) 0/28px 28px;font-size:45px;color:#6d50db}.qr small{position:absolute;max-width:180px;overflow:hidden;color:transparent}.qr-card h2{font-size:22px}.progress{width:280px;height:4px;background:#ececf1;border-radius:5px}.progress i{display:block;width:100%;height:100%;background:#7256df;transition:width 1s linear}.qr-card>small{font-size:9px;color:#929baa;margin-top:10px}.info{height:max-content;background:#eef9f4}.modal{position:fixed;inset:0;background:#18213099;display:grid;place-items:center;z-index:20}.modal-card{background:#fff;width:min(480px,92%);padding:26px;border-radius:16px;position:relative}.modal-card h2{margin-top:0}.modal form{display:flex;flex-direction:column;gap:12px}.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:24px;color:#8c95a3}.error.box{background:#ffe9ec;padding:15px;border-radius:9px}.loading{text-align:center;padding:100px;color:#929baa}
.menu-toggle,.backdrop,.mobile-nav{display:none}.tools{gap:10px}.tools select{min-width:170px;border:1px solid #dfe3ea;border-radius:9px;padding:0 12px;background:#fff}.table .tr{grid-template-columns:1.35fr .7fr 1fr .5fr .45fr}.tr span:nth-child(3)>b{display:flex;flex-direction:column}.tr span:nth-child(3) small{font-weight:400;color:#929baa}.pill.gray{background:#eef0f3;color:#6e7785}.edit{border:1px solid #ddd8f6;background:#f5f2ff;color:#6147cc;border-radius:7px;padding:7px 9px}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;background:linear-gradient(120deg,#fff,#f2efff)}.welcome h2{margin:7px 0}.welcome>div>small{font-size:9px;font-weight:800;color:#7054da;letter-spacing:.12em}.quick{display:flex;flex-direction:column;gap:9px}.quick button{padding:13px;text-align:left;border:1px solid var(--line);border-radius:9px;background:#fff;color:#4d5869}.terminal-code{font-size:26px;font-weight:900;letter-spacing:.12em;color:#6247ce}.scan-wrap{max-width:650px;margin:auto}.scan-card{text-align:center;padding:55px}.scan-card>i{font-style:normal;font-size:65px;color:#6b4fd9}.scan-card input{width:100%;padding:15px;border:1px solid var(--line);border-radius:10px;text-transform:uppercase;text-align:center;font-size:18px;font-weight:800;margin:20px 0}.scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scan-actions button{padding:14px;border:0;border-radius:9px;background:#6d50db;color:#fff;font-weight:700}.success{margin-top:15px;padding:13px;background:#e6f7ef;color:#168d5f;border-radius:9px}.mobile-nav{position:fixed;z-index:13;left:0;right:0;bottom:0;height:70px;background:#fff;border-top:1px solid var(--line);justify-content:space-around}.mobile-nav button{border:0;background:none;color:#727c8b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.mobile-nav b{font-size:20px}.mobile-nav small{font-size:9px}
@media(max-width:900px){.login{grid-template-columns:1fr}.splash{display:none}.brand.mobile{display:flex}.shell>aside{display:flex;transform:translateX(-105%);transition:transform .2s;z-index:30;box-shadow:12px 0 30px #17203120}.shell.sidebar-open>aside{transform:translateX(0)}.shell.sidebar-open .backdrop{display:block;position:fixed;inset:0;background:#17203166;z-index:29}.shell>main{margin:0}.menu-toggle{display:block;border:0;background:#f0edff;color:#6247ce;border-radius:9px;width:40px;height:40px;font-size:20px}.header-copy{flex:1;margin-left:12px}.content{padding:18px}.cards{grid-template-columns:1fr 1fr}.grid,.qr-layout{grid-template-columns:1fr}.mobile-nav:not(.hidden){display:flex}.shell:has(.mobile-nav:not(.hidden)) .content{padding-bottom:90px}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.cards.personal{grid-template-columns:1fr 1fr}.shell header{height:92px;padding:0 16px}.shell header h1{font-size:20px}.header-actions button{display:none}.content{padding:14px}.welcome{align-items:flex-start;flex-direction:column;gap:12px}.welcome .primary{width:100%}.table{overflow-x:auto}.table .tr{min-width:720px}.tools{flex-direction:column}.tools select{padding:12px}.scan-card{padding:30px 18px}.scan-actions{grid-template-columns:1fr}.qr-card{min-height:560px}.modal{align-items:end}.modal-card{width:100%;max-height:92vh;overflow:auto;border-radius:18px 18px 0 0}}
.real-qr{width:262px;height:262px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;margin:20px}.real-qr img,.real-qr canvas{width:230px!important;height:230px!important}.camera-btn{width:100%;margin:15px 0}#reader{width:100%;border:0!important;overflow:hidden;border-radius:12px}#reader video{border-radius:12px}#reader__dashboard_section_csr button{padding:10px;border:0;border-radius:8px;background:#6d50db;color:#fff}
.terminal-mode{background:#f4f2fb}.terminal-mode .shell>aside,.terminal-mode .shell header{display:none}.terminal-mode .shell>main{margin:0}.terminal-mode .content{padding:0;max-width:none}.qr-layout.kiosk{display:block;min-height:100vh}.qr-layout.kiosk .qr-card{min-height:100vh;border:0;border-radius:0}.qr-layout.kiosk .real-qr{width:352px;height:352px;padding:21px}.qr-layout.kiosk .real-qr img,.qr-layout.kiosk .real-qr canvas{width:310px!important;height:310px!important}.qr-layout.kiosk .terminal-code{font-size:32px}.kiosk-logout{position:fixed;right:18px;bottom:18px;border:0;background:transparent;color:#a1a7b1;font-size:10px}.scan-actions button:first-child{grid-column:1/-1;font-size:18px;padding:18px;background:#159565}.secondary-action{background:#7b8492!important}.done{font-size:18px;font-weight:800;padding:22px}
.action-sheet{position:fixed;inset:0;z-index:100;background:#111827cc;display:grid;place-items:center;padding:18px}.action-card{width:min(480px,100%);max-height:96vh;overflow:auto;background:#fff;border-radius:22px;padding:26px;text-align:center;box-shadow:0 24px 70px #0004}.scan-ok{width:64px;height:64px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#e4f8ef;color:#159565;font-size:34px;font-weight:900}.action-card h2{margin:14px 0 5px}.action-card>p{margin:0 0 20px;color:#7d8798}.action-card .scan-actions{grid-template-columns:1fr 1fr}.action-card .scan-actions button{min-height:58px}.cancel-action{margin-top:12px;border:0;background:transparent;color:#7d8798;padding:10px}.scan-actions button:disabled{opacity:.55}
.state-actions button:only-child{grid-column:1/-1;background:#159565!important;font-size:19px}.state-actions button:first-child:not(:only-child){grid-column:auto;font-size:16px;padding:14px}
