:root{--sa-red:#d5203b;--sa-blue:#1746c5;--sa-ink:#151b2b}.v7-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(120deg,#151b2b,#122d70);color:white;border-radius:20px;padding:30px;margin-bottom:24px}.v7-hero h1{font-size:clamp(24px,3vw,38px);margin:8px 0}.v7-hero p{color:#d5def5;max-width:720px;margin:0}.v7-hero>.bi{font-size:64px;color:#8daafa}.v7-hero .eyebrow{color:#b7cafa}.v7-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.studio-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:20px}.studio-toolbar>input{flex:1;min-width:160px}.studio-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.studio-pages{display:flex;gap:8px;flex-wrap:wrap}.studio-grid{display:grid;gap:10px;background:#e8edf6;padding:12px;border-radius:16px;margin-top:20px;overflow:auto}.studio-cell{border:2px dashed #b8c5db;border-radius:12px;background:#f7f9ff;font-size:28px;color:#7891ba;min-width:0}.studio-tile{border:0;border-radius:12px;color:white;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:center;text-align:center;min-width:0;overflow:hidden;box-shadow:0 3px 0 #0002;cursor:grab;word-break:break-word}.studio-tile .bi{font-size:24px}.studio-tile.selected{outline:3px solid #e61e49;outline-offset:2px}.studio-properties label{display:block;margin:12px 0}.studio-properties input,.studio-properties select{width:100%}.studio-properties input[type=color]{height:44px;padding:4px}.terminal-login{min-height:100vh;background:radial-gradient(ellipse at 10% 20%,#183c88,transparent 65%),#111723;display:flex;align-items:center;justify-content:center;padding:28px;font-family:system-ui,sans-serif}.terminal-login-card{width:480px;max-width:100%;background:white;border-radius:24px;padding:36px;box-shadow:0 30px 100px #0006;border-top:6px solid #d5203b}.terminal-login-card h1{font-size:30px;margin:12px 0}.terminal-login-card label{display:block;margin:16px 0 6px}.terminal-login-card input{width:100%;font-size:22px;min-height:52px}.terminal-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.terminal-keypad button{font-size:24px;min-height:54px;border:1px solid #dae0ee;border-radius:10px;background:#f0f3fa}.terminal-keypad button:active{background:#dce6ff}.terminal-submit{width:100%;min-height:56px;font-size:18px}.terminal-admin{display:block;margin-top:24px;text-align:center;color:#1746c5}.pos-v7-shell{background:#e9edf5;min-height:100vh}.pos-v7-shell .pos-workspace{max-width:none;padding:16px}.pos-v7-shell .pos-top h1{font-size:22px;margin:4px 0}.pos-v7-shell .pos-grid{grid-template-columns:minmax(0,1fr) minmax(360px,38%)}.pos-v7-shell .pos-basket{border-top:5px solid #d5203b}.pos-v7-shell .pos-pay{background:#d5203b;min-height:64px}.pos-v7-shell .pos-catalogue{background:white;padding:16px;border-radius:16px}.pos-v7-shell .pos-products{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.pos-v7-shell .pos-product-photo{height:90px}.pos-layout-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.pos-touch-grid{display:grid;gap:10px;margin-top:12px}.pos-touch-grid .studio-tile{cursor:pointer;min-height:84px;font-size:17px}.pos-quick-tools{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.pos-training-banner{padding:14px;background:#ffd566;color:#2f2300;font-weight:800;text-align:center}.clean-overlay{position:fixed;inset:0;background:#111827;color:white;z-index:10000;display:grid;place-content:center;text-align:center}.clean-overlay strong{font-size:80px}.v7-portal-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.v7-portal-nav a{padding:10px 16px;border-radius:10px;background:#fff;border:1px solid #dde4ee;text-decoration:none}.v7-portal-nav a.active{background:#1746c5;color:white}.staff-id-card{max-width:420px;background:linear-gradient(135deg,#141c2d,#173b8e);color:white;padding:28px;border-radius:20px;border-bottom:6px solid #e02c45}.staff-id-card .staff-code{background:white;padding:12px;border-radius:10px;margin-top:18px}.staff-id-card img{max-width:100%}.staff-id-card small{color:#ccd8f4}.branch-switch{max-width:190px}.roster-board{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));gap:10px;overflow:auto}.roster-day{min-height:180px;background:#f2f5fb;border:1px solid #dbe3f2;padding:10px;border-radius:12px}.roster-item{background:white;padding:10px;border-left:4px solid #1746c5;border-radius:6px;margin:10px 0;font-size:13px;cursor:grab}.roster-item.draft{border-left-color:#d5203b}@media(max-width:1000px){.studio-shell{grid-template-columns:1fr}.studio-toolbar{flex-wrap:wrap}.pos-v7-shell .pos-grid{grid-template-columns:1fr}.v7-hero>.bi{display:none}}@media print{.v7-portal-nav,.studio-toolbar{display:none}}

.pos-v7-shell{--green:#1746c5;--green-dark:#103899}.pos-v7-shell .pos-top h1 small{font-size:13px;font-weight:500;letter-spacing:0;color:#64748b;margin-left:8px}.studio-toolbar{position:relative;z-index:1}.v7-portal-nav a:hover{border-color:#1746c5}

.app-shell{transition:none}.terminal-login-card .eyebrow{color:#1746c5}.terminal-login-card .terminal-submit{background:#d5203b;color:white}
