:root{--green:#09664e;--ink:#193d34;--muted:#778b83;--bg:#f3f6f4;--line:#e4ebe7;--sidebar:258px}.ui-icon{width:23px;height:23px;flex-shrink:0}.app-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}.app-shell button,.app-shell .button{border-radius:12px;min-height:44px}.app-shell input,.app-shell select,.app-shell textarea{font:inherit;font-size:16px;max-width:100%}.app-shell h1{font-size:28px;letter-spacing:-1px}.app-shell h2{letter-spacing:-.4px}.app-shell .dashboard{max-width:1220px;padding:24px 18px 106px}.app-shell .cards,.app-shell .student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-shell .cards>* ,.app-shell .student-grid>*{min-width:0}.app-shell .module{padding:19px 15px;border:1px solid #ffffffb0;box-shadow:0 4px 16px #214e3205;border-radius:19px;background:#e5f0e9;position:relative}.app-shell .module:nth-child(6n+2){background:#e7edf9;color:#304c78}.app-shell .module:nth-child(6n+3){background:#fbf0df;color:#866434}.app-shell .module:nth-child(6n+4){background:#f1eafb;color:#70558e}.app-shell .module:nth-child(6n+5){background:#fae9e7;color:#945a52}.app-shell .module:nth-child(6n){background:#e2f0f1;color:#386f76}.app-shell .module-icon{background:#ffffffb0;color:inherit;width:43px;height:43px;border-radius:14px;margin-bottom:17px}.app-shell .module h3{font-size:14px;line-height:1.4;min-height:20px}.app-shell .module p{font-size:11px;line-height:1.6;margin-bottom:14px;color:inherit;opacity:.74}.app-shell .module .button{background:#ffffffb0;color:inherit;font-size:11px;padding:8px 11px;min-height:34px}.app-shell .welcome{margin:22px 0;padding:22px 24px;border-radius:22px;background:linear-gradient(115deg,#075b45,#177b60);box-shadow:0 12px 25px #075e4812;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.app-shell .welcome h2{font-size:22px;line-height:1.3;margin:0}.app-shell .welcome .pill{margin:0 0 10px;padding:0;background:none;font-size:9px;letter-spacing:1.8px;grid-column:1/-1}.app-shell .welcome p,.app-shell .welcome .ornament{display:none}.app-shell .welcome .button{background:#ffffff;color:#09664e;font-size:11px;padding:10px 13px;margin:0;position:relative;z-index:1;max-width:120px}.app-shell .overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.app-shell .overview .module{background:white;color:var(--ink);border:1px solid var(--line);padding:17px 15px}.app-shell .overview h2{font-size:20px;margin:0}.app-shell .overview h3{font-size:11px;font-weight:500;color:var(--muted);margin-bottom:9px}.app-shell .section-heading{margin:28px 0 14px}.app-shell .section-heading h2{margin:0;font-size:18px}.app-shell .form-card,.app-shell .account,.app-shell .student-card{background:white;border:1px solid var(--line);box-shadow:none;border-radius:19px;padding:20px;margin-bottom:18px}.app-shell .student-card{padding:16px;overflow-wrap:anywhere}.app-shell .student-card h2{font-size:17px}.app-shell .student-card .button{font-size:12px;padding:10px 12px}.app-shell .student-meta{display:flex;flex-wrap:wrap;gap:12px}.app-shell .wallet-amount strong{font-size:20px}.app-shell .page-heading{gap:12px;flex-wrap:wrap}.app-shell .back-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:0 0 20px}.app-shell .back-link .ui-icon{width:15px;height:15px}.app-topbar{position:sticky;top:0;z-index:40;min-height:77px;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;border-bottom:1px solid var(--line);padding:14px 16px;gap:10px;backdrop-filter:blur(15px)}.topbar-start,.topbar-end{display:flex;align-items:center;gap:10px;min-width:0}.topbar-start{flex:1}.icon-button{background:transparent!important;color:var(--ink)!important;display:grid;place-items:center;padding:8px!important;min-width:40px;min-height:42px!important}.mobile-brand{display:flex;align-items:center;gap:10px;min-width:0}.mobile-brand>span{font-size:11px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}.mobile-brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.3px;color:var(--muted);margin-top:4px}.mobile-brand img,.sidebar-brand img{width:36px;height:36px;object-fit:contain;flex-shrink:0}.account-chip{display:none;align-items:center;gap:8px;font-size:11px;background:#f0f5f2;padding:9px 12px;border-radius:12px}.logout-form{margin:0}.logout-form button{display:flex;align-items:center;justify-content:center;gap:7px;background:#fff2ee;color:#984e3d;font-size:11px;padding:10px!important;min-height:42px!important}.logout-form .ui-icon{width:18px;height:18px}.desktop-title{display:none}.sidebar{position:fixed;z-index:70;left:0;top:0;bottom:0;width:var(--sidebar);background:#fff;padding:26px 18px 20px;overflow-y:auto;border-right:1px solid var(--line);transform:translateX(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 9px 24px}.sidebar-brand span{font-size:12px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}.sidebar-brand small{display:block;font-size:7px;letter-spacing:1.3px;color:var(--muted);margin-top:5px}.nav-label{font-size:9px;letter-spacing:1.5px;color:#94a59c;padding:0 13px;margin-top:24px}.nav-item{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:12px;font-size:12px;font-weight:560;margin-bottom:4px;color:#6b8077;min-height:44px}.nav-item:hover{background:#f1f6f3;color:#09664e}.nav-item.active{background:#e5f2eb;color:#09664e;font-weight:750}.nav-item .ui-icon{width:19px;height:19px}.nav-close{position:absolute;right:3px;top:3px}.sidebar-account{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:28px;padding:20px 8px 15px}.sidebar-account strong{font-size:11px;display:block}.sidebar-account small{font-size:9px;color:var(--muted)}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#e7f1eb;border-radius:50%;font-size:14px;font-weight:700}.sidebar-logout button{width:100%;justify-content:flex-start}.nav-scrim{display:none;position:fixed;inset:0;background:#102d2477;z-index:60;border-radius:0!important}.nav-open{overflow:hidden}.nav-open .sidebar{transform:translateX(0);visibility:visible}.nav-open .nav-scrim{display:block}.sticky-nav{display:flex;align-items:center;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:45;border-top:1px solid var(--line);background:#fffffff5;backdrop-filter:blur(18px);padding:10px 10px calc(10px + env(safe-area-inset-bottom))}.sticky-nav a,.sticky-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:600;background:none;color:#81968b;border-radius:12px;min-height:46px;padding:2px}.sticky-nav [aria-current=page]{color:#09664e}.sticky-nav .ui-icon{width:21px;height:21px}.page-footer{font-size:10px;color:#93a59b;text-align:center;padding:30px 0 6px}.page-footer span{margin:0 7px}.product-visual{width:100%;height:110px;object-fit:cover;background:#f4f7f1;border-radius:14px;margin-bottom:14px}.product-visual.is-icon{object-fit:contain;padding:20px}.product-tile img{width:100%;height:100px;object-fit:cover;border-radius:12px;background:#f4f7f1}.product-tile img.is-icon{object-fit:contain;padding:16px}.icon-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.icon-picker label{margin:0;display:flex;align-items:center;flex-direction:column;gap:5px;border:1px solid var(--line);padding:9px 4px;border-radius:12px;font-size:10px;text-align:center}.icon-picker img{width:34px;height:34px}.icon-picker input{width:16px;min-height:16px;height:16px}.icon-picker label:has(input:checked){border-color:#159570;background:#eaf7ef}.card-preview{width:100%;height:auto;max-width:700px;border-radius:18px;box-shadow:0 16px 35px #132c2822;display:block}.designer-layout{display:grid;gap:24px}.designer-preview{position:sticky;top:100px;align-self:start}.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.card-output{margin:24px 0}.login-page{background:#edf4ef}.login-card input{background:#f7faf8}.login-card .login-methods{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0;font-size:11px;color:#557c68}.login-methods span{padding:5px 10px;background:#edf5ef;border-radius:20px}.app-shell .pos-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .pos-stat{min-width:0}.app-shell .pos-stat strong{font-size:20px;overflow-wrap:anywhere}.app-shell .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .product-tile{padding:12px;min-width:0}.app-shell .product-tile strong{font-size:13px}.app-shell .product-tile span{font-size:14px}.app-shell .product-tile small{font-size:10px}.app-shell .log{overflow-wrap:anywhere}.app-shell .form-actions{gap:10px}.app-shell .identity-card{margin:0}.account-chip .ui-icon{width:17px;height:17px}@media(min-width:700px){.app-shell .cards,.app-shell .student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .module{padding:22px}.app-shell .module p{font-size:12px}.app-shell .module h3{font-size:16px}.app-shell .overview{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .dashboard{padding:30px 32px 110px}.app-shell .welcome{padding:24px 30px}.app-shell .welcome h2{font-size:25px}.account-chip{display:flex}.designer-layout{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.app-shell{padding-left:var(--sidebar)}.sidebar{transform:none;visibility:visible}.nav-close,#menu-toggle,.mobile-brand{display:none!important}.desktop-title{display:block;font-size:14px;font-weight:650}.app-topbar{padding:17px 32px;min-height:78px}.sticky-nav{left:var(--sidebar);padding-left:15%;padding-right:15%}.sticky-nav button{display:none}.app-shell .welcome{max-width:none}.app-shell .cards{gap:18px}.app-shell .module:has(>.module-icon){display:grid;grid-template-columns:48px 1fr;column-gap:16px}.app-shell .module-icon{grid-row:1/4;margin:0}.app-shell .module .button{justify-self:start}.app-shell .overview .module{display:block}.nav-open{overflow:auto}.nav-open .nav-scrim{display:none}}@media(max-width:359px){.app-shell .dashboard{padding-left:12px;padding-right:12px}.app-shell .cards{gap:10px}.app-shell .module{padding:15px 12px}.topbar-logout span{display:none}.mobile-brand>span{font-size:10px}.app-shell .welcome{padding:20px}.icon-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}@media print{.sidebar,.app-topbar,.sticky-nav,.page-footer,.nav-scrim{display:none!important}.app-shell{padding:0}.app-shell .dashboard{padding:0;max-width:none}.card-preview{width:85.6mm;height:53.98mm;border-radius:0;box-shadow:none}.card-output{break-inside:avoid}.designer-layout{display:block}}

.designed-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.designed-sheet .card-output{min-width:0;margin:0}.designed-sheet .button{margin-top:12px}@media(max-width:699px){.designed-sheet{grid-template-columns:1fr}}@media print{.designed-sheet{display:grid;grid-template-columns:85.6mm 85.6mm;gap:5mm}.designed-sheet .card-output{width:85.6mm;height:53.98mm;margin:0;break-inside:avoid}}

/* Information cards use their full width; icon grids are exclusive to service cards. */
.app-shell .module:not(:has(>.module-icon)){display:flex;flex-direction:column;align-items:flex-start;gap:12px}.app-shell .module:not(:has(>.module-icon))>*{max-width:100%;margin:0}.app-shell .module:not(:has(>.module-icon)) h2{font-size:20px;line-height:1.35}.app-shell .module:not(:has(>.module-icon)) p{line-height:1.7}.app-shell .module:not(:has(>.module-icon)) .button{margin-top:auto;min-height:44px;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center}.app-shell .module .pill{white-space:normal;line-height:1.5;height:auto;min-height:0;padding:6px 10px;border-radius:10px}.payment-order{overflow-wrap:anywhere}.payment-note{line-height:1.7}

.app-shell .cards{margin-bottom:20px}
