/* Seven Tricho Lab · componenti del gestionale (Planning, Clienti, Punto vendita, Gestione, Listini, Impostazioni).
   Solo valori da stl-tokens.css, stesso linguaggio di stl-components.css. */

body.stl-wide .stl-main{padding-left:clamp(12px,1.6vw,24px);padding-right:clamp(12px,1.6vw,24px)}
body.stl-wide .stl-titlebar{margin-bottom:var(--space-4)}
.g-hidden{display:none!important}

/* ---------- Barre e schede ---------- */
.g-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.g-bar .g-grow{flex:1}
.g-bar h2{margin-right:auto}
.g-subtabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:var(--space-2)}
.g-subtabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;font-size:var(--fs-small);color:var(--text-muted);font-weight:600;margin-bottom:-1px}
.g-subtabs button:hover{color:var(--text)}
.g-subtabs button[aria-selected="true"]{color:var(--stl-green-text);border-bottom-color:var(--stl-green)}
.g-search{height:var(--h-input);padding:0 var(--space-3) 0 36px;border-radius:var(--radius-input);border:1px solid var(--border-input);background:var(--bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none' stroke='%235E655C' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='9' cy='9' r='5.5'/%3E%3Cpath d='M13 13l4 4'/%3E%3C/svg%3E") no-repeat 12px center;min-width:240px;font-size:var(--fs-base)}
.g-search:focus,.g-in:focus{border-color:var(--stl-green-dark);box-shadow:var(--focus-ring);outline:none}
.g-in{height:36px;padding:0 var(--space-2);border-radius:var(--radius-input);border:1px solid var(--border-input);background:var(--bg-input);font-size:var(--fs-small);min-width:0}
textarea.g-in{height:auto;padding:var(--space-2);min-height:80px;resize:vertical;font:inherit;font-size:var(--fs-small);width:100%}
.stl-field textarea{min-height:90px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-input);border:1px solid var(--border-input);background:var(--bg-input);font:inherit;resize:vertical}
.stl-field textarea:focus{border-color:var(--stl-green-dark);box-shadow:var(--focus-ring);outline:none}
.stl-field.g-wide{grid-column:1/-1}
.g-check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-small);cursor:pointer;min-height:32px}
.g-checks{display:flex;flex-wrap:wrap;gap:6px var(--space-4)}
.g-radio{display:inline-flex;border:1px solid var(--border-input);border-radius:var(--radius-input);overflow:hidden;background:var(--bg-card);flex-wrap:wrap}
.g-radio label{padding:7px 12px;font-size:var(--fs-small);cursor:pointer;border-right:1px solid var(--border-input)}
.g-radio label:last-child{border-right:0}
.g-radio input{position:absolute;opacity:0;pointer-events:none}
.g-radio label:has(input:checked){background:var(--stl-green-tint);color:var(--stl-green-text);font-weight:600}
.g-sec{font-family:var(--font-display);font-size:11.5px;letter-spacing:var(--ls-card-title);text-transform:uppercase;color:var(--stl-green-text);grid-column:1/-1;margin-top:var(--space-2);padding-bottom:6px;border-bottom:1px solid var(--border)}
.g-colors{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.g-colors button{width:24px;height:24px;border-radius:50%;border:2px solid var(--bg-card);box-shadow:0 0 0 1px var(--border-input);padding:0}
.g-colors button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--stl-green-dark)}
.g-colors input[type=color]{width:36px;height:30px;border:1px solid var(--border-input);border-radius:var(--radius-input);background:var(--bg-input);padding:2px}

/* ---------- Tabelle ---------- */
.g-table tbody tr.g-click{cursor:pointer}
.g-table tbody tr.g-click:hover td{background:var(--stl-green-tint)}
.g-table td.g-act{white-space:nowrap;text-align:right;width:1%}
.g-table tfoot td{font-weight:700;border-top:2px solid var(--stl-green);background:var(--bg-card);padding:11px 14px}
.g-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-button);border:1px solid transparent;background:none;color:var(--text-muted)}
.g-iconbtn:hover{background:var(--bg-app);color:var(--text);border-color:var(--border)}
.g-iconbtn.danger:hover{color:var(--stl-error);background:var(--stl-error-tint)}
.g-pager{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--fs-small);color:var(--text-muted);justify-content:space-between}
.g-pager .g-bar{gap:4px}
.g-yes{color:var(--stl-green-text);font-weight:700}
.g-no{color:var(--text-muted)}
.g-swatch{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid var(--border-input);vertical-align:-3px}
.g-avatar{width:34px;height:34px;border-radius:50%;background:var(--stl-green-tint);color:var(--stl-green-text);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;object-fit:cover;flex:none}
.g-avatar.f{background:var(--stl-rose-tint);color:var(--stl-rose-text)}
.g-avatar.lg{width:84px;height:84px;font-size:24px}

/* ---------- Pulsanti flottanti ---------- */
.g-fab{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:25;display:flex;gap:var(--space-3);flex-direction:column;align-items:flex-end}
.g-fab button{width:56px;height:56px;border-radius:50%;border:0;background:var(--stl-green-dark);color:var(--text-on-dark);box-shadow:var(--shadow-float);display:inline-flex;align-items:center;justify-content:center}
.g-fab button:hover{background:var(--stl-green-text)}
.g-fab button.ghost{background:var(--bg-card);color:var(--text);border:1px solid var(--border-input)}
.g-fab button.danger{background:var(--bg-card);color:var(--stl-error);border:1px solid var(--border-input)}
.g-fab.row{flex-direction:row}

/* ---------- Modale e cassetto ---------- */
.g-overlay{position:fixed;inset:0;background:rgba(20,20,20,.32);z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}
.g-modal{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-float);width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.g-modal.wide{width:min(980px,100%)}
.g-modal>header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}
.g-modal>header h2{font-family:var(--font-display);font-weight:400;font-size:var(--fs-card-title);letter-spacing:var(--ls-card-title);text-transform:uppercase}
.g-modal>.g-body{padding:var(--space-5);overflow:auto;display:flex;flex-direction:column;gap:var(--space-4)}
.g-modal>footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap}
.g-drawer-ov{position:fixed;inset:0;background:rgba(20,20,20,.18);z-index:45}
.g-drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,100vw);background:var(--bg-card);border-left:1px solid var(--border);box-shadow:var(--shadow-float);z-index:46;display:flex;flex-direction:column}
.g-drawer>header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);display:flex;gap:var(--space-3);align-items:flex-start;justify-content:space-between}
.g-drawer>.g-body{flex:1;overflow:auto;padding:var(--space-4) var(--space-5) 96px;display:flex;flex-direction:column;gap:var(--space-4)}
.g-drawer .g-fab{position:absolute;right:var(--space-5);bottom:var(--space-5)}
.g-menu{position:absolute;z-index:60;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-button);box-shadow:var(--shadow-float);padding:4px;display:flex;flex-direction:column;min-width:220px}
.g-menu button{background:none;border:0;text-align:left;padding:9px 12px;border-radius:6px;font-size:var(--fs-small)}
.g-menu button:hover{background:var(--bg-app)}

/* ---------- Elenco + dettaglio con colonna laterale ---------- */
.g-split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-5);align-items:start}
.g-split.closed{grid-template-columns:minmax(0,1fr)}
.g-split.closed>.g-side{display:none}
.g-side{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);position:sticky;top:calc(var(--header-h) + 16px);max-height:calc(100vh - var(--header-h) - 32px)}
.g-side .g-search{min-width:0;width:100%}
.g-side ul{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column}
.g-side li button{width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:7px 8px;display:flex;flex-direction:column;font-size:var(--fs-small)}
.g-side li button small{color:var(--text-muted);font-size:var(--fs-xs)}
.g-side li button:hover{background:var(--bg-app)}
.g-side li button[aria-current="true"]{background:var(--stl-green-tint);color:var(--stl-green-text);font-weight:600}
.g-filters{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--space-3) var(--space-4);align-items:end}
.g-filters .stl-field>span:first-child{font-size:11px}
.g-filters .stl-field input,.g-filters .stl-field select{height:36px;font-size:var(--fs-small)}
.g-layout-f{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-5);align-items:start}
.g-layout-f.closed{grid-template-columns:minmax(0,1fr)}
.g-layout-f.closed>.g-fpanel{display:none}
.g-fpanel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);position:sticky;top:calc(var(--header-h) + 16px);max-height:calc(100vh - var(--header-h) - 32px);overflow:auto}
.g-fpanel .stl-field input,.g-fpanel .stl-field select{height:36px;font-size:var(--fs-small)}
.g-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
.g-msel{display:flex;flex-direction:column;gap:2px;max-height:140px;overflow:auto;border:1px solid var(--border-input);border-radius:var(--radius-input);padding:6px 8px;background:var(--bg-input)}

/* ---------- Scheda cliente ---------- */
.g-head{display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap}
.g-head h2{font-family:var(--font-display);font-weight:400;font-size:18px;letter-spacing:var(--ls-title);text-transform:uppercase}
.g-head .g-indic{display:flex;gap:var(--space-3);margin-left:auto;flex-wrap:wrap}
.g-indic div{background:var(--bg-soft);border-radius:var(--radius-button);padding:8px 14px;display:flex;flex-direction:column;min-width:110px}
.g-indic span{font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-muted)}
.g-indic strong{font-size:17px;font-variant-numeric:tabular-nums}
.g-photo{position:relative;cursor:pointer}
.g-photo input{display:none}
.g-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-4)}
.g-boxes .stl-card{gap:var(--space-3)}
.g-boxes h2 .stl-pill{margin-left:6px}
.g-panel{display:flex;flex-direction:column;gap:var(--space-3)}
.g-thumbs{display:flex;gap:6px;flex-wrap:wrap}
.g-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--border);cursor:zoom-in}
.g-viewer{position:fixed;inset:0;background:var(--bg-viewer);z-index:70;display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.g-viewer img{max-width:94vw;max-height:94vh}
.g-upl{display:flex;flex-direction:column;gap:6px}
.g-upl .g-thumbs img{width:72px;height:72px}

/* ---------- Planning ---------- */
.gp{display:flex;flex-direction:column;gap:var(--space-3)}
.gp-title{font-family:var(--font-display);font-size:14px;letter-spacing:var(--ls-title);text-transform:uppercase;min-width:200px;text-align:center}
.gp-title::first-letter{text-transform:uppercase}
.gp-scroll{overflow:auto;height:calc(100vh - 250px);min-height:480px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);position:relative;--slot:16px}
.gp-grid{display:grid;position:relative;min-width:100%}
.gp-head{position:sticky;top:0;z-index:6;background:var(--bg-card);border-bottom:2px solid var(--stl-green);display:flex;align-items:flex-end;justify-content:center;flex-direction:column;padding:6px 8px;font-size:var(--fs-small);font-weight:700;text-align:center;min-height:46px;border-right:1px solid var(--border)}
.gp-head small{font-weight:400;color:var(--text-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}
.gp-head .gp-day{font-family:var(--font-display);font-weight:400;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--stl-green-text)}
.gp-corner{position:sticky;left:0;top:0;z-index:8;background:var(--bg-card);border-bottom:2px solid var(--stl-green);border-right:1px solid var(--border)}
.gp-hours{position:sticky;left:0;z-index:5;background:var(--bg-card);border-right:1px solid var(--border)}
.gp-hours div{height:calc(var(--slot)*4);font-size:11px;color:var(--text-muted);text-align:right;padding:0 6px;transform:translateY(-7px);font-variant-numeric:tabular-nums}
.gp-col{position:relative;border-right:1px solid var(--border);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(var(--bg-row-alt) 1px,transparent 1px);background-size:100% calc(var(--slot)*4),100% var(--slot);cursor:cell}
.gp-col.gp-daystart{border-left:2px solid var(--border-input)}
.gp-off{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,rgba(138,145,135,.10) 0 6px,rgba(138,145,135,.20) 6px 12px);pointer-events:none}
.gp-off.abs{background:repeating-linear-gradient(135deg,rgba(168,53,44,.06) 0 6px,rgba(168,53,44,.13) 6px 12px)}
.gp-now{position:absolute;left:0;right:0;height:2px;background:var(--stl-error);z-index:4;pointer-events:none}
.gp-now::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--stl-error)}
.gp-app{position:absolute;left:2px;right:3px;border-radius:6px;padding:3px 6px 6px;font-size:11.5px;line-height:1.25;overflow:hidden;cursor:grab;color:var(--text-on-dark);border-left:4px solid rgba(0,0,0,.25);z-index:3;touch-action:none;user-select:none}
.gp-app b{display:block;text-transform:uppercase;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-app span{display:block;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-app i{display:block;font-style:normal;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gp-app.light{color:var(--text)}
.gp-app.seq{border-top:1px dashed rgba(255,255,255,.6)}
.gp-app.drag{opacity:.85;box-shadow:var(--shadow-float);z-index:9;cursor:grabbing}
.gp-app .gp-res{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}
.gp-app .gp-flags{position:absolute;top:3px;right:4px;display:flex;gap:2px;font-size:10px;font-weight:700}
.gp-app .gp-flags em{font-style:normal;background:rgba(255,255,255,.9);color:var(--text);border-radius:3px;padding:0 3px}
.gp-app.st-entrato{outline:2px solid var(--stl-black);outline-offset:-2px}
.gp-app.st-annullato,.gp-app.st-no_show{opacity:.45;text-decoration:line-through}
.gp-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}
.gp-month>div{background:var(--bg-card);min-height:118px;padding:6px;display:flex;flex-direction:column;gap:2px;cursor:pointer;font-size:11px;overflow:hidden}
.gp-month>div.out{background:var(--bg-row-alt);color:var(--text-muted)}
.gp-month>div.today{box-shadow:inset 0 0 0 2px var(--stl-green)}
.gp-month .gp-dn{font-weight:700;font-size:var(--fs-small)}
.gp-month .gp-wk{background:var(--bg-soft);min-height:0;font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--text-muted);text-align:center;cursor:default}
.gp-month i{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:3px;padding:1px 4px;color:var(--text-on-dark)}
.gp-clip{background:var(--stl-green-tint);border:1px solid var(--stl-green);border-radius:var(--radius-button);padding:8px 12px;display:flex;gap:var(--space-3);align-items:center;font-size:var(--fs-small)}
.gp-legend{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--text-muted)}
.gp-legend span{display:inline-flex;align-items:center;gap:6px}
.gp-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* Pannello appuntamento */
.ga-when{font-family:var(--font-display);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.ga-when::first-letter{text-transform:uppercase}
.ga-sub{font-size:var(--fs-small);color:var(--text-muted)}
.ga-client{display:flex;gap:var(--space-2);align-items:center}
.ga-client .g-search{flex:1;min-width:0}
.ga-results{border:1px solid var(--border);border-radius:var(--radius-button);max-height:220px;overflow:auto}
.ga-results button{display:flex;justify-content:space-between;gap:var(--space-2);width:100%;background:none;border:0;border-bottom:1px solid var(--border);padding:8px 12px;text-align:left;font-size:var(--fs-small)}
.ga-results button:hover{background:var(--stl-green-tint)}
.ga-chosen{display:flex;align-items:center;gap:var(--space-3);background:var(--stl-green-tint);border-radius:var(--radius-button);padding:8px 12px}
.ga-chosen strong{text-transform:uppercase}
.ga-actions{display:flex;gap:4px;flex-wrap:wrap;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px 0}
.ga-actions button{background:none;border:1px solid transparent;border-radius:var(--radius-button);padding:6px 10px;font-size:var(--fs-xs);display:inline-flex;flex-direction:column;align-items:center;gap:2px;color:var(--text);min-width:58px}
.ga-actions button:hover{background:var(--bg-app);border-color:var(--border)}
.ga-actions button svg{color:var(--stl-green-text)}
.ga-actions button:disabled{opacity:.4}
.ga-rows tr[aria-selected="true"] td{background:var(--stl-green-tint)!important}
.ga-rows td{cursor:pointer}
.ga-keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px}
.ga-keys>button,.gc-keys>button{border:0;border-radius:var(--radius-button);min-height:52px;padding:6px 8px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.2;color:var(--text-on-dark);text-align:left;display:flex;flex-direction:column;justify-content:space-between}
.ga-keys>button:hover,.gc-keys>button:hover{filter:brightness(1.08)}
.ga-keys>button.light,.gc-keys>button.light{color:var(--text)}
.ga-keys>button small,.gc-keys>button small{font-weight:400;opacity:.9;text-transform:none}

/* ---------- Punto vendita ---------- */
.gc{display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-rows:auto;gap:var(--space-3);height:calc(100vh - 290px);min-height:600px}
.gc-left{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);min-height:0}
.gc-left .g-search{min-width:0;width:100%}
.gc-list{overflow:auto;display:flex;flex-direction:column;gap:4px;flex:1}
.gc-list button{display:flex;justify-content:space-between;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--bg-card);padding:8px 10px;text-align:left;font-size:var(--fs-small)}
.gc-list button[aria-current="true"]{border-color:var(--stl-green);background:var(--stl-green-tint);font-weight:600}
.gc-list button small{display:block;color:var(--text-muted);font-weight:400;font-size:var(--fs-xs)}
.gc-main{display:grid;grid-template-rows:minmax(0,1.3fr) minmax(0,1fr) auto;gap:var(--space-3);min-height:0}
.gc-cart{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;min-height:0}
.gc-cart>header{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;padding:var(--space-3);border-bottom:1px solid var(--border)}
.gc-cart .gc-rows{overflow:auto;flex:1}
.gc-cart table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.gc-cart th{position:sticky;top:0;background:var(--bg-card);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--stl-green-text);text-align:left;padding:8px 10px;border-bottom:2px solid var(--stl-green)}
.gc-cart td{padding:9px 10px;border-top:1px solid var(--border)}
.gc-cart tbody tr{cursor:pointer}
.gc-cart tbody tr:hover td{background:var(--stl-green-tint)}
.gc-cart>footer{display:flex;justify-content:flex-end;gap:var(--space-5);align-items:center;padding:var(--space-3);border-top:1px solid var(--border)}
.gc-tot{font-size:var(--fs-small);color:var(--text-muted);display:flex;flex-direction:column;align-items:flex-end}
.gc-tot strong{font-size:22px;color:var(--text);font-variant-numeric:tabular-nums}
.gc-tot button{background:none;border:0;padding:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end;color:inherit}
.gc-tot button strong{color:var(--stl-green-text);text-decoration:underline dotted}
.gc-cat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);min-height:0}
.gc-keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-auto-rows:auto;align-content:start;gap:6px;overflow:auto;flex:1}
.gc-keys>button{min-height:60px}
.gc-keys .gc-row{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-button);padding:6px 12px;font-size:var(--fs-small);background:var(--bg-card)}
.gc-bottom{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;justify-content:space-between}
.gc-tabs{display:flex;gap:4px;flex-wrap:wrap}
.gc-tabs button{border:1px solid var(--border);background:var(--bg-card);border-radius:var(--radius-button);min-height:52px;min-width:76px;padding:4px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;position:relative;color:var(--text)}
.gc-tabs button svg{color:var(--stl-green-text)}
.gc-tabs button[aria-pressed="true"]{background:var(--stl-green-tint);border-color:var(--stl-green);font-weight:600}
.gc-tabs button b{position:absolute;top:3px;right:4px;background:var(--stl-rose);color:var(--stl-rose-text);border-radius:var(--radius-pill);font-size:10px;padding:0 5px;line-height:1.5}
.gc-close{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}
.gc-pay-total{font-size:40px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.gc-methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}
.gc-methods button{min-height:48px;border:1px solid var(--border-input);background:var(--bg-card);border-radius:var(--radius-button);font-weight:600;font-size:var(--fs-small)}
.gc-methods button:hover{border-color:var(--stl-green);background:var(--stl-green-tint)}
.gc-payrow{display:grid;grid-template-columns:minmax(0,1.2fr) 120px minmax(0,1.3fr) 32px;gap:var(--space-2);align-items:center}
.gc-remain{display:flex;justify-content:space-between;font-weight:700;padding:10px 12px;border-radius:var(--radius-button);background:var(--bg-soft)}
.gc-remain.ok{background:var(--stl-green-tint);color:var(--stl-green-text)}
.gc-warn{background:var(--stl-warning-tint);color:var(--stl-warning);border-radius:var(--radius-button);padding:8px 12px;font-size:var(--fs-small)}

/* ---------- Editor ---------- */
.g-rte{border:1px solid var(--border-input);border-radius:var(--radius-input);background:var(--bg-input)}
.g-rte .g-bar{padding:4px;border-bottom:1px solid var(--border)}
.g-rte .g-bar button{min-height:30px;min-width:30px;border:1px solid transparent;border-radius:6px;background:none;font-size:var(--fs-small)}
.g-rte .g-bar button:hover{background:var(--bg-card);border-color:var(--border)}
.g-rte [contenteditable]{min-height:200px;padding:var(--space-3);outline:none;background:var(--bg-card);border-radius:0 0 var(--radius-input) var(--radius-input)}
.g-rte textarea{width:100%;min-height:200px;border:0;padding:var(--space-3);font-family:ui-monospace,monospace;font-size:12.5px;background:var(--bg-card)}
.g-target input{width:76px;height:32px;padding:0 6px;border:1px solid var(--border-input);border-radius:var(--radius-input);background:var(--bg-input);font-size:var(--fs-xs);text-align:right}
.g-prog{display:block;height:5px;background:var(--bg-app);border-radius:var(--radius-pill);margin-top:3px;overflow:hidden}
.g-prog i{display:block;height:100%;background:var(--data-1)}
.g-prog i.over{background:var(--stl-green)}
.g-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}
.g-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);text-align:left;cursor:pointer}
.g-tile:hover{border-color:var(--stl-green);background:var(--stl-green-tint)}
.g-tile strong{font-size:var(--fs-base)}
.g-tile small{color:var(--text-muted);font-size:var(--fs-small)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .gc{grid-template-columns:minmax(0,1fr);height:auto}
  .gc-left{max-height:260px}
  .gc-main{grid-template-rows:auto auto auto}
  .gc-cart .gc-rows{max-height:320px}
  .gc-keys{max-height:340px}
  .g-layout-f{grid-template-columns:minmax(0,1fr)}
  .g-fpanel{position:static;max-height:none}
}
@media (max-width:900px){
  .g-split{grid-template-columns:minmax(0,1fr)}
  .g-split>.g-side{position:static;max-height:280px}
  .g-boxes{grid-template-columns:minmax(0,1fr)}
  .gp-scroll{height:calc(100vh - 200px)}
}
@media (max-width:560px){
  .g-fab{right:var(--space-4);bottom:var(--space-4)}
  .g-search{min-width:0;width:100%}
  .gc-payrow{grid-template-columns:1fr 1fr}
  .g-head .g-indic{margin-left:0}
}
@media print{
  .g-fab,.g-side,.g-fpanel,.g-subtabs,.g-bar button,.g-pager{display:none!important}
  .g-split,.g-layout-f{grid-template-columns:minmax(0,1fr)!important}
}

/* ---------- Accesso ---------- */
.stl-user{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-small);color:var(--text-muted);white-space:nowrap}
.stl-login form{max-width:400px;width:100%;display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-8);text-align:left}
.stl-login form h1{text-align:center}
.stl-login form .stl-brand-mark{width:44px;height:50px;color:var(--stl-black)}
.stl-login form .stl-field input{width:100%}
.stl-login .stl-err{min-height:1.2em;margin:0;font-size:var(--fs-small)}
.stl-breadcrumb a{color:inherit;text-decoration:none}
.stl-breadcrumb a:hover{text-decoration:underline}
.g-modgrp{border:1px solid var(--border);border-radius:var(--radius-button);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:6px}
.g-modgrp>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}
.g-modgrps{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-3)}
@media (max-width:560px){.stl-user span{display:none}}
