@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600&display=swap");
:root{
  --pink:#cc0046; --pink2:#d91655; --pink-soft:#e5759b; --ink:#30303a; --muted:#85858b;
  --line:#d7d7db; --paper:#fff; --beige:#f4eadb; --gray:#f5f5f6; --footer:58px; --top:58px;
  --shadow:0 8px 24px rgba(0,0,0,.15); --font:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:var(--font);color:var(--ink);background:#fff}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}.visually-hidden{position:absolute;left:-10000px}.full{width:100%}.flex1{flex:1}
#toast{position:fixed;z-index:9999;left:50%;top:72px;transform:translate(-50%,-15px);background:#202024;color:#fff;padding:11px 18px;border-radius:4px;opacity:0;pointer-events:none;transition:.2s;box-shadow:var(--shadow);max-width:min(90vw,640px)}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.bad{background:#8d173c}
.login-shell{min-height:100%;display:grid;place-items:center;background:linear-gradient(125deg,#fff 0 55%,#f8f8f8 55% 100%)}.login-card{width:min(440px,90vw);text-align:center}.login-card h1{font-weight:400;color:var(--pink);font-size:25px}.login-card p{color:#777}.login-card form{display:grid;gap:15px;text-align:left;margin:24px 0}.login-card label{color:var(--pink);font-size:14px}.login-card input{width:100%;height:42px;border:0;border-bottom:1px solid var(--pink);padding:8px 10px;background:#fff;box-shadow:0 4px 13px rgba(0,0,0,.12)}
.cp-mark{width:126px;height:126px;margin:auto;background:linear-gradient(#d33e2f,#b92920);display:grid;place-items:center;color:#eee;position:relative;overflow:hidden}.cp-controls{position:absolute;top:24px;display:flex}.cp-controls i{font-style:normal;border:4px solid #c7c7c7;width:27px;height:28px;display:grid;place-items:center;font-size:20px;font-weight:bold}.cp-scissors{font-size:60px;transform:rotate(-6deg);margin-top:25px}.salon-primary{border:0;background:var(--pink);color:#fff;padding:11px 22px;border-radius:2px}.app{min-height:100%;background:#fff}.topbar{height:var(--top);position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;display:grid;grid-template-columns:54px 1fr auto auto;align-items:center;border-bottom:1px solid #eee;box-shadow:0 2px 10px rgba(0,0,0,.06)}.top-home,.top-icon{border:0;background:transparent;color:var(--pink);font-size:25px;height:100%;min-width:48px}.top-home{font-size:27px}.top-title{font-size:21px;color:var(--pink);white-space:nowrap}.top-context{display:flex;align-items:center;gap:14px;margin-right:6px}.top-actions{display:flex;height:100%;align-items:center}.top-icon{position:relative}.top-icon sup{font-size:9px;position:absolute;top:8px;right:2px;background:var(--pink);color:#fff;border-radius:6px;padding:1px 3px}.menu-overlay{position:fixed;z-index:190;inset:var(--top) 0 var(--footer);background:rgba(0,0,0,.32)}.admin-menu,.sos-menu{position:fixed;right:6px;top:var(--top);z-index:200;background:#fff;border-radius:2px;box-shadow:0 5px 17px rgba(0,0,0,.35);min-width:260px}.admin-menu button,.sos-menu button{width:100%;border:0;border-bottom:1px solid #d8d8dc;background:#fff;padding:13px 15px;text-align:left;font-size:18px;display:flex;gap:14px;align-items:center}.admin-menu button span,.sos-menu button:first-child{color:var(--pink)}.admin-menu button>span{width:25px;text-align:center;color:var(--pink)}.admin-menu .menu-disabled{color:#999}.admin-menu .menu-disabled em{margin-left:auto}.menu-user{padding:10px 14px;display:flex;flex-direction:column;color:#777}.sos-menu{min-width:210px}.sos-menu button span{color:#333}.content{position:fixed;top:var(--top);bottom:var(--footer);left:0;right:0;overflow:auto;background:#fff}.view{display:none;min-height:100%}.active-view{display:block}.bottom-nav{height:var(--footer);position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid #e4e4e4;display:grid;grid-template-columns:repeat(4,1fr)}.bottom-nav button{border:0;background:#fff;color:#8b8b8b;font-size:13px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.bottom-nav button span{font-size:23px;line-height:20px}.bottom-nav button.active{color:var(--pink)}
.salon-home{background:#f4f4f4;position:relative;min-height:100%}.salon-home-center{display:grid;place-items:start center;padding-top:0}.home-mark{width:250px;height:248px}.home-mark .cp-controls{top:60px}.home-mark .cp-controls i{width:48px;height:48px;font-size:32px;border-width:6px}.home-mark .cp-scissors{font-size:120px;margin-top:42px}.home-welcome{position:absolute;right:28px;bottom:34px;text-align:right;font-size:18px}.home-welcome strong{color:var(--pink);font-weight:400}.home-calendar-fab{position:absolute;bottom:-29px;left:50%;transform:translateX(-50%);width:58px;height:58px;border-radius:50%;border:0;background:#ad003b;color:#fff;font-size:25px;box-shadow:0 4px 8px #777}.version-label{position:absolute;right:8px;bottom:-46px;color:#ad003b;font-size:12px}
.salon-screen{background:#fff}.salon-search{height:44px;margin:7px 9px;border:1px solid #c3c3c7;border-radius:10px;background:#f8f8f9;display:flex;align-items:center;padding:0 12px;gap:9px}.salon-search span{font-size:25px;color:#394054}.salon-search input{border:0;outline:0;background:transparent;width:100%;font-size:17px}.salon-filter-row{display:flex;gap:5px;padding:8px 15px 5px;border-bottom:1px solid #ddd;overflow:auto;white-space:nowrap}.salon-filter-row button{flex:1;min-width:128px;padding:9px 12px;border:1px solid #aeb0b8;border-radius:7px;background:#fafafa;color:#6e6e78}.salon-filter-row button.active{background:var(--pink);color:#fff;border-color:var(--pink)}.salon-list{border-top:1px solid #e2e2e2}.salon-list-row{min-height:71px;border-bottom:1px solid #cfd0d5;display:flex;align-items:center;padding:8px 18px;gap:14px;position:relative;background:#fff}.round-client-icon{width:34px;height:34px;border:3px solid var(--pink);border-radius:50%;color:var(--pink);display:grid;place-items:center;font-size:14px}.client-main,.fiche-main{display:flex;flex-direction:column;gap:3px;min-width:0}.client-main b,.fiche-main b{font-weight:400;font-size:18px;color:#2e3450}.client-main span,.fiche-main span{font-size:13px}.client-row-actions{margin-left:auto;display:grid;grid-template-columns:repeat(2,30px);gap:4px 10px}.client-row-actions button{border:0;background:transparent;color:var(--pink);font-size:21px}.client-row-actions .gray-action{color:#868686}.count-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #ddd;padding:9px 16px;color:var(--pink);font-size:16px;z-index:4}.fiche-toolbar{display:flex;align-items:center}.thin-icon{border:0;background:transparent;color:var(--pink);font-size:22px}.salon-period-row{padding:7px 12px;border-bottom:1px solid #ddd;display:flex;gap:18px;align-items:end;color:var(--pink)}.salon-period-row label{font-size:11px}.salon-period-row input,.salon-period-row select{border:0;border-bottom:1px solid var(--pink);padding:4px}.fiche-row .round-client-icon{border:2px solid #e40029;border-radius:4px;width:51px;height:51px}.fiche-price{background:#3498d8;color:#fff;padding:5px 13px;border-radius:5px;font-size:16px;margin-top:4px;align-self:flex-start}.fiche-row-actions{margin-left:auto;display:flex;gap:14px;font-size:22px;color:#777}.fiche-totals-bar{display:flex;justify-content:space-between;color:#111}.fiche-totals-bar b{color:#111}.fiche-totals-bar span{display:flex;gap:6px}.fiche-totals-bar span:first-child:before{content:"▦";color:var(--pink)}
.agenda-date-strip{height:72px;display:flex;align-items:stretch;border-bottom:1px solid #ddd;background:#fff;position:sticky;top:0;z-index:20}.agenda-days{display:flex;flex:1;overflow:hidden}.agenda-day{min-width:95px;flex:1;text-align:center;padding:7px 5px;color:#8d8d8d;border-right:1px solid #ddd;font-size:17px;line-height:1.15}.agenda-day strong{font-weight:400;display:block}.agenda-day.current,.agenda-day.selected{color:#e60046}.strip-arrow{border:0;background:#fff;color:#999;font-size:25px;width:30px}.agenda-calendar-btn{width:65px;border:0;background:#fff;color:var(--pink);font-size:24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.agenda-calendar-btn small{font-size:11px}.agenda-grid-wrap{overflow:auto;height:calc(100vh - var(--top) - var(--footer) - 72px);position:relative}.agenda-grid{display:grid;grid-template-columns:84px repeat(var(--collabs),minmax(150px,1fr));min-width:max(100%,calc(84px + var(--collabs)*150px));position:relative}.agenda-header{position:sticky;top:0;z-index:10;background:#fff;height:41px;border-bottom:1px solid #ddd;border-right:1px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:13px}.agenda-time{height:12px;border-right:1px solid #ddd;border-bottom:1px dotted #ddd;font-size:10px;color:#888;text-align:right;padding-right:5px;position:relative}.agenda-time.hour{height:12px;font-size:15px;font-weight:600;border-bottom:1px solid #d8d8d8}.agenda-cell{height:12px;border-right:1px solid #ddd;border-bottom:1px dotted #ddd;position:relative}.agenda-cell.hour{border-bottom:1px solid #d9d9d9}.agenda-now{position:absolute;left:0;right:0;height:1px;background:#ff1453;z-index:8;pointer-events:none}.agenda-now:before{content:attr(data-time);position:absolute;left:0;top:-8px;color:#ff1453;background:white;font-size:11px;padding:0 4px}.appointment-block{position:absolute;border-left:4px solid var(--ap-color,#d60042);background:color-mix(in srgb,var(--ap-color,#d60042) 15%,white);z-index:5;padding:3px 5px;font-size:11px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.12)}.appointment-block b{display:block;font-size:12px}.appointment-block span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.listino-top{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.circle-back{border:0;border-radius:50%;background:#fff4f7;color:var(--pink);font-size:22px;width:42px;height:42px}.listino-type-box{margin-left:auto;display:flex;flex-direction:column;color:var(--pink);font-size:12px}.listino-type-box select{border:0;background:#fff;color:#333;font-size:16px}.salon-tabs,.profile-tabs,.settings-tabs,.modal-top-tabs,.booking-tabs{display:flex;border-bottom:1px solid #ddd;background:#fff}.salon-tabs button,.profile-tabs button,.settings-tabs button,.modal-top-tabs button,.booking-tabs button{flex:1;border:0;background:#fff;padding:13px 10px;color:#4a5065;border-bottom:2px solid transparent}.salon-tabs button.active,.profile-tabs button.active,.settings-tabs button.active,.modal-top-tabs button.active,.booking-tabs button.active{color:var(--pink);border-color:var(--pink)}.salon-service-groups{background:#fff}.service-group-block{margin-left:58px;border-bottom:1px solid #ddd}.service-group-title{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:var(--pink);font-size:18px}.service-row{height:49px;background:#f0f1f6;border-top:1px solid #d2d3d8;display:flex;align-items:center;padding:0 32px;font-size:18px}.service-row .price-badge{margin-left:auto;background:var(--pink);color:#fff;border-radius:5px;padding:4px 10px;font-size:15px}.salon-simple-list{margin-left:58px}.simple-row{border-bottom:1px solid #d5d5d8;padding:15px 25px;display:flex;justify-content:space-between}.simple-row button{border:0;background:transparent;color:var(--pink);font-size:20px}
.profile-view,.settings-view,.migration-view{background:#f7f7f7;min-height:100%}.profile-tabs,.settings-tabs{position:sticky;top:0;z-index:5;overflow:auto}.profile-tabs button,.settings-tabs button{min-width:130px;font-size:13px;white-space:nowrap}.salon-paper{background-color:#fff;background-image:linear-gradient(145deg,rgba(0,0,0,.015) 25%,transparent 25%),linear-gradient(35deg,rgba(0,0,0,.015) 25%,transparent 25%);background-size:55px 55px;padding:24px}.profile-pane{max-width:1000px;margin:0 auto;min-height:calc(100vh - var(--top) - var(--footer) - 52px)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}.profile-grid label,.salon-paper>label,.service-fields label,.client-pane label,.collab-pane label,.event-body label{display:flex;flex-direction:column;color:var(--pink);font-size:12px;gap:5px}.profile-grid input,.profile-grid select,.salon-paper input,.salon-paper select,.salon-paper textarea,.service-fields input,.service-fields select,.service-fields textarea,.client-pane input,.client-pane select,.client-pane textarea,.collab-pane input,.collab-pane select,.collab-pane textarea,.event-body input,.event-body select,.event-body textarea{border:0;background:#fff;box-shadow:0 4px 11px rgba(0,0,0,.12);min-height:39px;padding:8px 11px;color:#333}.profile-section-title{color:var(--pink);font-size:17px;margin:5px 0 17px}.profile-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end}.cash-actions{display:grid;gap:12px;margin-top:20px}.cash-actions button{background:var(--pink);color:#fff;border:0;padding:11px}.week-schedule{display:grid;gap:8px}.week-row{display:grid;grid-template-columns:130px 40px repeat(4,100px) 100px;gap:6px;align-items:center;border-bottom:1px solid #ddd;padding:7px 0}.week-row input[type=time]{width:100%;box-shadow:none;border:1px solid #ddd}.switch-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important}.switch-line input{appearance:none!important;width:38px!important;height:20px!important;border-radius:12px!important;background:#aaa!important;box-shadow:none!important;min-height:0!important;padding:0!important;position:relative}.switch-line input:checked{background:var(--pink)!important}.switch-line input:before{content:"";width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:.15s}.switch-line input:checked:before{left:20px}.whatsapp-subtabs{display:flex;gap:2px;border-bottom:1px solid #ddd;margin:-24px -24px 20px}.whatsapp-subtabs button{border:0;background:#fff;padding:12px 13px;color:#666}.whatsapp-subtabs button.active{color:var(--pink);border-bottom:2px solid var(--pink)}.settings-content{padding:0;background:#fff;min-height:calc(100vh - var(--top) - var(--footer) - 100px)}.settings-list-row{min-height:62px;border-bottom:1px solid #ddd;padding:12px 20px;display:flex;align-items:center;gap:15px}.settings-list-row .pink-box{width:35px;height:35px;background:var(--pink);color:#fff;display:grid;place-items:center}.settings-list-row .row-main{display:flex;flex-direction:column}.settings-list-row small{color:#888}.settings-list-row button{margin-left:auto;border:0;background:transparent;color:var(--pink);font-size:20px}.system-corner{position:fixed;right:16px;bottom:calc(var(--footer) + 12px);border:0;width:38px;height:38px;border-radius:50%;background:#fff;color:#aaa;box-shadow:var(--shadow)}
.report-gate{min-height:100%;background-color:#fff;background-image:linear-gradient(135deg,rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(45deg,rgba(0,0,0,.018) 1px,transparent 1px);background-size:50px 50px;display:grid;place-items:start center;padding-top:40px}.report-gate-card{width:min(530px,90vw);text-align:center}.report-mark{width:88px;height:88px}.report-mark .cp-controls{top:17px}.report-mark .cp-controls i{width:20px;height:20px;font-size:13px;border-width:3px}.report-mark .cp-scissors{font-size:42px;margin-top:22px}.report-gate-card p{font-size:16px;margin-top:28px}.report-gate-card h3{font-weight:400;color:var(--pink);font-size:17px}.report-gate-card label{display:block;text-align:left;color:var(--pink);margin-top:25px}.report-gate-card input{width:100%;height:43px;border:0;box-shadow:0 4px 12px rgba(0,0,0,.15);padding:10px;margin:5px 0 25px}.report-base{background:#fff}.report-menu-row{min-height:98px;border-bottom:1px solid #ccc;display:flex;align-items:center;padding:10px 16px;gap:17px}.report-menu-row:hover{background:#fafafa}.report-menu-row>div:last-child{display:flex;flex-direction:column;gap:9px}.report-menu-row b{font-size:19px;font-weight:400;letter-spacing:1px}.report-menu-row span{font-size:15px;color:#777;letter-spacing:1px}.report-menu-icon{width:78px;height:78px;color:var(--pink);font-size:64px;display:grid;place-items:center;position:relative}.report-menu-icon.small{font-size:52px}.report-menu-icon.small i{position:absolute;right:4px;top:0;background:var(--pink);color:#fff;border-radius:50%;font-size:18px;font-style:normal;width:25px;height:25px;display:grid;place-items:center}.report-menu-icon.calendar{border:6px solid var(--pink);font-size:35px;font-weight:bold;height:70px;border-radius:4px}.report-menu-icon.calendar:before{content:"";position:absolute;top:-10px;left:10px;right:10px;height:10px;border-left:6px solid var(--pink);border-right:6px solid var(--pink)}.report-menu-icon.warehouse{border:4px solid var(--pink);font-size:45px}.disabled-row{opacity:.55;cursor:default}.report-period-picker{height:205px;background:#f6f6f6;display:grid;grid-template-columns:1fr 150px 180px;align-items:center;padding:15px}.period-label{color:var(--pink);align-self:center}.period-years,.period-months{display:flex;flex-direction:column;font-size:22px;gap:7px}.period-years button,.period-months button{border:0;background:transparent;text-align:left;font-size:20px;color:#777}.period-years button.active,.period-months button.active{color:var(--pink)}.report-visualize{margin:11px 15px;background:var(--pink);color:#fff;border:0;border-radius:4px;padding:5px 13px}.report-detail{background:#fff}.report-detail-strip{height:68px;display:grid;grid-template-columns:50px 1fr 50px;align-items:center;border-bottom:1px solid #ddd;box-shadow:0 3px 8px rgba(0,0,0,.08)}.report-detail-strip strong{text-align:center;font-size:19px;font-weight:400}.round-arrow{width:37px;height:37px;border-radius:50%;border:0;background:var(--pink);color:#fff;font-size:24px;margin:auto}.round-arrow.pale{background:#df759b}.report-general{padding:27px 18px 12px}.general-title{height:34px;background:var(--pink);color:#fff;text-align:center;padding:7px;font-weight:bold;border-radius:4px}.general-lines{display:grid}.general-line{height:46px;border-bottom:1px solid #ddd;display:grid;grid-template-columns:1fr 180px;align-items:center}.general-line span{text-align:right;padding-right:20px}.general-line strong{background:var(--pink);color:#fff;height:31px;display:grid;place-items:center;font-weight:400}.payment-collapsible{padding:15px 0;color:var(--pink);text-align:center;border-bottom:1px solid #eee}.payment-list{display:grid;grid-template-columns:1fr 180px}.payment-list div{display:contents}.payment-list span,.payment-list b{border-bottom:1px solid #ddd;padding:8px}.payment-list b{color:#fff;background:var(--pink);text-align:center}.report-table-wrap{padding:0 18px 25px;overflow:auto}.report-table{width:100%;border-collapse:collapse;font-size:15px}.report-table th{background:var(--pink);color:#fff;padding:9px;border:1px solid #fff;font-weight:bold}.report-table th:first-child{width:auto}.report-table td{border:1px solid #bcbcbc;padding:5px 9px}.report-table .category-row{background:var(--beige)}.report-table .service-row-report{background:#fff}.report-table .client-row-report{background:#f5f5f5}.report-table .expand-cell{cursor:pointer}.tree-indent1{padding-left:25px!important}.tree-indent2{padding-left:48px!important}.compare{display:block;font-size:11px;font-style:italic;font-weight:bold}.compare.up{color:#079312}.compare.down{color:#c40042}.report-client-filters{display:grid;grid-template-columns:1fr 150px 150px 150px;padding:10px 16px;gap:22px;align-items:end}.report-client-filters .salon-search{grid-column:1/-1;margin:0}.report-client-filters label{color:var(--pink);font-size:12px}.report-client-filters select{display:block;width:100%;border:0;border-bottom:1px solid #ddd;padding:6px 0;color:#333}.report-client-count{display:grid;grid-template-columns:1fr 330px;align-items:center;padding:10px 17px}.report-client-count b{text-align:right;padding-right:18px}.report-client-count strong{background:var(--pink);color:#fff;padding:7px;text-align:center;font-weight:400}.client-segment-badge{background:#e3e3e3;border-radius:10px;padding:3px 10px;margin-left:8px}.client-report-icon{width:22px;height:22px;background:var(--pink);color:#fff;display:inline-grid;place-items:center;margin-right:10px}
.salon-dialog{border:0;padding:0;box-shadow:var(--shadow);max-width:min(970px,94vw);width:760px;max-height:92vh}.salon-dialog::backdrop{background:rgba(0,0,0,.35)}.full-dialog{width:1060px;max-width:96vw}.client-dialog{width:1000px}.collaborator-dialog{width:980px}.service-dialog{width:650px}.history-dialog{width:940px}.technical-dialog{width:800px}.small-dialog{width:450px}.salon-modal-form{margin:0;max-height:92vh;overflow:auto;background:#fff}.salon-modal-head,.fiche-header,.event-side-head,.event-main-head{height:64px;background:#fff;display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.08)}.salon-modal-head h3,.fiche-header h3,.event-side-head h3,.event-main-head h3{font-weight:400;color:var(--pink);margin:0}.salon-modal-head>div,.fiche-header>div{position:absolute;right:15px;display:flex}.salon-modal-head button,.fiche-header button,.event-side-head button,.event-main-head button{border:0;background:transparent;color:var(--pink);font-size:25px;min-width:38px}.salon-modal-head>button:first-child{position:absolute;left:13px}.save-icon{font-size:22px!important}.modal-top-tabs.three button{min-width:33%}.client-pane,.collab-pane{display:grid;gap:12px;max-width:620px;margin:0 auto}.client-pane textarea{min-height:68px}.phone-combo{display:grid;grid-template-columns:175px 1fr;gap:15px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sex-row{display:flex;gap:10px}.sex-row button{width:42px;height:28px;border-radius:15px;border:0;background:#aaa;color:#fff}.sex-row button.active{background:var(--pink)}.policy-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.policy-row button{border:1px solid var(--pink);background:#fff;color:var(--pink);padding:10px}.policy-row button.active{background:var(--pink);color:#fff}.salon-danger{border:0;background:#8a1739;color:#fff;padding:10px}.client-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.client-stats div{background:#fff;border:1px solid #ddd;padding:8px}.inline-card-form{display:flex;gap:7px}.inline-card-form input{flex:1}.inline-card-form button{background:var(--pink);color:#fff;border:0;width:45px}.history-tabs,.history-subtabs{display:flex;border-bottom:1px solid #ddd}.history-tabs button,.history-subtabs button{border:0;background:#fff;padding:12px 20px;color:#777}.history-tabs button.active,.history-subtabs button.active{color:var(--pink);border-bottom:2px solid var(--pink)}.history-subtabs .salon-search{margin-left:auto;width:340px}.history-content{padding:10px;max-height:70vh;overflow:auto}.history-card{border-bottom:1px solid #ddd;padding:10px;display:grid;grid-template-columns:130px 1fr 110px}.history-card .price-badge{background:#3498d8;color:#fff;border-radius:4px;padding:4px 9px;align-self:start;text-align:center}.history-service{display:flex;flex-direction:column}.history-service small{color:#777}.technical-fields textarea{min-height:95px}.collab-pane{max-width:850px}.booking-tabs{margin:-24px -24px 10px}.booking-tabs button{padding:12px}.booking-service-cat{border-bottom:1px solid #ddd}.booking-service-cat h4{color:var(--pink);font-weight:400}.booking-service-row{display:flex;align-items:center;border-top:1px solid #ddd;padding:8px}.booking-service-row span{flex:1}.booking-service-row input{box-shadow:none;min-height:0;width:22px;height:22px}.empty-salon{padding:40px;text-align:center;color:#888}.service-fields{display:grid;gap:12px}.fiche-form{overflow:hidden}.fiche-header{display:grid;grid-template-columns:55px 1fr 160px}.fiche-header>button:first-child{justify-self:start}.fiche-header h3{text-align:left;padding-left:5px}.fiche-layout{display:grid;grid-template-columns:2fr 1fr;height:calc(92vh - 64px)}.fiche-left{display:flex;flex-direction:column;overflow:auto;border-right:1px solid #ddd;position:relative}.fiche-section-title{padding:12px;color:var(--pink);border-bottom:1px solid #eee;font-size:18px}.products-title{display:flex;justify-content:space-between}.fiche-items{border-bottom:1px solid #ddd}.fiche-item-row{min-height:49px;border-bottom:1px solid #ddd;display:grid;grid-template-columns:1fr 150px 35px 78px;align-items:center;padding:0 8px}.fiche-item-row .collab-name{color:#777}.fiche-item-row button{border:0;background:transparent;color:var(--pink);font-size:23px}.fiche-item-row .item-price{background:var(--pink);color:#fff;border-radius:5px;padding:5px;text-align:center}.fiche-service-picker{padding:0;overflow:auto;flex:1}.picker-header{padding:12px;color:var(--pink);background:#fafafa}.picker-service{min-height:50px;border-bottom:1px solid #ddd;display:grid;grid-template-columns:1fr 50px 72px;align-items:center;padding:0 12px}.picker-service button{border:0;background:transparent}.picker-service .picker-person{font-size:24px;color:#888}.picker-service .picker-price{background:#c7c7c7;color:#fff;border-radius:4px;padding:5px;text-align:center}.fiche-client-bottom{height:47px;border-top:1px solid #ddd;display:grid;grid-template-columns:65px 1fr 35px;align-items:center;padding:0 8px;background:#fff}.fiche-client-bottom span{font-size:11px;color:#777}.fiche-client-bottom select{border:0;border-bottom:1px solid var(--pink);height:34px}.fiche-client-bottom button{border:0;background:transparent}.payment-box{background-color:#fff;background-image:linear-gradient(145deg,rgba(0,0,0,.02) 25%,transparent 25%),linear-gradient(35deg,rgba(0,0,0,.02) 25%,transparent 25%);background-size:42px 42px;overflow:auto;padding:0 14px}.payment-title{height:50px;display:flex;align-items:center;gap:20px;color:var(--pink)}.payment-title h3{font-weight:400}.payment-lines{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pay-line label{display:flex;flex-direction:column;color:var(--pink);font-size:13px;gap:5px}.pay-line input{border:0;background:#fff;box-shadow:0 4px 11px rgba(0,0,0,.16);height:42px;padding:8px}.advanced-pay{display:block;margin:17px auto;border:0;background:transparent;color:var(--pink);font-size:16px}.preventivo{display:flex;align-items:center;gap:10px;color:var(--pink);margin:8px 0 26px}.preventivo input{appearance:none;width:40px;height:20px;background:#aaa;border-radius:12px}.preventivo input:checked{background:var(--pink)}.payment-totals>div{min-height:52px;border:1px solid #d8d8d8;background:rgba(255,255,255,.75);display:grid;grid-template-columns:1fr 150px;align-items:center;padding:7px;margin-bottom:10px}.payment-totals strong{text-align:right;font-weight:400}.discount-box{grid-template-columns:1fr 95px 18px!important}.discount-box input{height:37px;border:0;box-shadow:0 4px 11px rgba(0,0,0,.12)}.payment-totals input{height:37px;border:0;background:#fff;box-shadow:0 4px 11px rgba(0,0,0,.12);padding:8px}.balance-row{color:green}.fiscal-buttons{display:grid;gap:12px;margin-top:23px}.fiscal-buttons button{border:0;background:var(--pink);color:#fff;padding:10px}.fiscal-buttons button:first-child{background:#e7759c}.event-layout{display:grid;grid-template-columns:37% 63%;height:92vh}.event-services-side{border-right:1px solid #ddd;overflow:auto}.event-side-head{justify-content:space-between;padding:0 18px}.event-main{overflow:auto}.event-main-head{justify-content:flex-start;padding-left:70px}.event-main-head button{position:absolute;left:10px}.event-body{display:grid;gap:13px;max-width:none;height:calc(92vh - 64px);overflow:auto;padding:14px 17px}.event-divider{height:1px;background:var(--pink);margin:5px 16px}.event-date-time{display:grid;grid-template-columns:1fr 1fr;gap:30px}.event-date-time label{display:grid;grid-template-columns:25px 1fr;align-items:center}.appointment-service-picker{border-top:1px solid #ddd}.appointment-service-picker .picker-service{grid-template-columns:1fr}.event-phases{display:grid;gap:10px}.event-phase{border-bottom:1px solid #eee;padding-bottom:10px;display:grid;gap:8px}.phase-service,.phase-collab{display:grid;grid-template-columns:28px 1fr 35px;align-items:center}.phase-service select,.phase-collab select{height:38px;border:0;border-bottom:1px solid var(--pink);box-shadow:none;background:transparent}.phase-color{width:26px!important;height:26px!important;padding:0!important;box-shadow:none!important}.phase-controls{display:grid;grid-template-columns:28px 90px 1fr 90px 34px 34px;align-items:center;gap:5px}.phase-controls button{height:30px;border:0;background:#fff;color:#777;font-size:20px}.phase-controls input{box-shadow:none!important;border-bottom:1px solid #ddd!important}.add-phase{border:0;background:transparent;color:#111;display:grid;grid-template-columns:1fr 30px 1fr;align-items:center}.add-phase span{height:1px;background:var(--pink)}.advanced-event summary{color:var(--pink);text-align:center;cursor:pointer}.confirm-dialog{border:0;padding:0;background:transparent}.confirm-dialog::backdrop{background:rgba(0,0,0,.45)}.confirm-box{background:#fff;min-width:390px;padding:25px;text-align:center;box-shadow:var(--shadow)}.confirm-box p{margin:0 0 25px}.confirm-box>div{display:flex;justify-content:flex-end;gap:15px}.confirm-box button{border:0;background:#fff;color:var(--pink);padding:8px 16px}.confirm-box .confirm-yes{background:var(--pink);color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:15px}.gallery-card{border:1px solid #ddd;background:#fff}.gallery-card img{width:100%;height:180px;object-fit:cover}.gallery-card div{padding:8px;display:flex;flex-direction:column}.migration-steps{display:flex;gap:5px;padding:20px}.migration-steps span{flex:1;background:#ddd;padding:10px;text-align:center}.migration-steps .active{background:var(--pink);color:#fff}.migration-card{background:#fff;margin:10px 20px;padding:20px;box-shadow:0 2px 10px #ddd}.migration-list{padding:20px}.migration-row{display:grid;grid-template-columns:1fr 1fr 120px;gap:15px;border-bottom:1px solid #ddd;padding:12px}.system-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.system-grid div{border-bottom:1px solid #ddd;padding:10px;display:flex;flex-direction:column}
@media(max-width:760px){:root{--top:54px;--footer:58px}.topbar{grid-template-columns:48px 1fr auto}.top-context{display:none}.top-title{font-size:17px}.top-actions .top-icon{min-width:42px}.home-mark{width:190px;height:190px}.report-client-filters{grid-template-columns:1fr 1fr}.report-client-filters .salon-search{grid-column:1/-1}.report-client-count{grid-template-columns:1fr 150px}.fiche-layout,.event-layout{grid-template-columns:1fr;height:auto}.fiche-form,.salon-modal-form{max-height:95vh}.payment-box{min-height:600px}.event-services-side{max-height:38vh}.week-row{grid-template-columns:90px 35px 80px 80px;overflow:auto}.profile-grid{grid-template-columns:1fr}.policy-row{grid-template-columns:1fr}.client-stats{grid-template-columns:1fr 1fr}.report-period-picker{grid-template-columns:1fr 100px 120px}.salon-filter-row button{min-width:120px}.service-group-block,.salon-simple-list{margin-left:0}.report-menu-row span{font-size:12px}.report-table{font-size:12px}.bottom-nav button{font-size:11px}}

/* =============================================================
   v0.4.1 — SALONAPP PARITY PRECISION PATCH
   micro-interazioni, X/close, Fiches, prefissi, impostazioni
   ============================================================= */
.top-section-icons{display:flex;align-items:center;gap:6px}.top-section-icons button{border:0;background:transparent;color:var(--pink);font-size:22px;padding:8px}
.top-type-select{display:flex;flex-direction:column;min-width:155px;color:var(--pink);font-size:11px;line-height:1.1}.top-type-select select{border:0;background:transparent;font-size:16px;color:#333;padding:1px 22px 1px 0;outline:0}

/* Clienti — selezione riga e azioni come reference */
.client-row{transition:background .12s,padding-right .12s;overflow:hidden}.client-row.selected-row{background:#f7f7f8;padding-right:115px}.client-edit-actions{position:absolute;right:0;top:0;bottom:0;width:104px;background:#fff;display:flex;align-items:stretch;border-left:1px solid #dedee2;box-shadow:-7px 0 13px rgba(0,0,0,.04)}.client-edit-actions button{width:52px;border:0;border-left:1px solid #eee;background:#fff;color:var(--pink);font-size:23px}.client-edit-actions button:hover{background:#fff5f8}
.round-client-icon{position:relative;background:#fff}.round-client-icon>span{width:12px;height:12px;border-radius:50%;background:var(--pink);position:relative;display:block}.round-client-icon>span:after{content:"";position:absolute;width:20px;height:10px;border-radius:10px 10px 0 0;background:var(--pink);left:50%;transform:translateX(-50%);top:13px}
.phone-line{color:#20202a}.phone-line::first-letter{color:var(--pink)}

/* Cliente modal */
.client-dialog{width:min(1020px,96vw);max-width:1020px;height:min(850px,94vh);padding:0;border:0}.client-dialog .salon-modal-form{height:100%;max-height:none}.client-dialog .salon-modal-head{height:60px}.client-dialog .client-pane{max-width:620px;overflow:auto;max-height:calc(94vh - 116px);padding:14px 0 28px}.prefix-wrap{position:relative}.prefix-wrap select{width:100%;height:42px;border:0;border-bottom:1px solid var(--pink);padding:0 35px 0 10px;background:#fff;box-shadow:0 4px 11px rgba(0,0,0,.11);appearance:auto}.phone-combo>input{height:42px}
.notes-with-clock{position:relative}.notes-with-clock .note-clock{position:absolute;right:7px;top:34px;width:34px;height:34px;border:0;background:transparent;color:var(--pink);font-size:21px;display:grid;place-items:center;cursor:pointer;border-radius:50%}.notes-with-clock .note-clock:hover{background:rgba(214,0,66,.08)}.notes-with-clock .note-clock:active{transform:scale(.94)}.notes-with-clock textarea{padding-right:44px}.gender-toggle{display:flex;align-items:center;gap:10px;height:36px}.gender-toggle button{appearance:none;width:38px;height:20px;border-radius:11px;border:0;background:#aaa;padding:2px;position:relative;transition:.15s}.gender-toggle button span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}.gender-toggle button.active{background:var(--pink)}.gender-toggle button.active span{transform:translateX(18px)}.gender-toggle b{font-weight:400;color:#666}.card-whatsapp{display:grid;grid-template-columns:1fr 42px;align-items:center}.card-whatsapp span{font-size:22px;color:#777;text-align:center}

/* Collaboratori */
.collaborator-list{border-top:0}.collaborator-row{min-height:72px}.collaborator-person-icon{width:40px;height:40px;border:2px solid var(--pink);border-radius:50%;display:grid;place-items:center;position:relative}.collaborator-person-icon span{width:12px;height:12px;border-radius:50%;background:var(--pink);position:relative}.collaborator-person-icon span:after{content:"";position:absolute;width:21px;height:10px;border-radius:12px 12px 0 0;background:var(--pink);left:50%;top:13px;transform:translateX(-50%)}.availability-line{color:var(--pink)!important;font-size:13px!important}.collaborator-dialog{width:min(1020px,96vw);max-width:1020px;min-height:680px}.collaborator-dialog .salon-modal-head>div{display:flex;gap:2px}.collaborator-dialog .salon-modal-head>div:before{content:"▰";display:grid;place-items:center;color:var(--pink);font-size:21px;width:38px}

/* Listino */
#view-services .listino-search{margin-top:8px}.salon-tabs{height:48px}.service-group-title{padding-top:11px;padding-bottom:9px}.service-row{min-height:48px}.service-row .price-badge{background:var(--pink)!important;color:#fff;border-radius:5px;padding:4px 10px}

/* Settings — struttura reference */
.salon-paper-page{background-color:#fff;background-image:linear-gradient(145deg,rgba(0,0,0,.017) 25%,transparent 25%),linear-gradient(35deg,rgba(0,0,0,.017) 25%,transparent 25%);background-size:45px 45px}.settings-tabs{background:#fff;display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid #ddd;position:sticky;top:0;z-index:5}.settings-tabs button{height:48px;border:0;border-bottom:2px solid transparent;background:#fff;color:#4f5364;font-size:13px}.settings-tabs button.active{color:var(--pink);border-bottom-color:var(--pink)}.settings-subhead{height:49px;background:#fff;display:grid;grid-template-columns:1fr 70px;align-items:center;border-bottom:1px solid #eee;padding-left:70px}.settings-subhead h3{margin:0;text-align:center;color:var(--pink);font-weight:400;font-size:17px}.settings-subhead button{height:100%;border:0;background:#fff;color:var(--pink);font-size:25px}.settings-search{background:#f8f8f9}.settings-content{background:rgba(255,255,255,.88)}

/* Profilo overlay e X sempre accessibile */
.profile-dialog{width:min(1035px,97vw);max-width:1035px;height:min(850px,95vh);padding:0;border:0}.profile-dialog .profile-modal-form{height:100%;max-height:none;overflow:hidden}.profile-modal-head{height:58px;position:sticky;top:0;z-index:10}.profile-modal-head>div{display:flex}.profile-tabs{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));overflow:auto;white-space:nowrap;background:#fff;position:sticky;top:58px;z-index:9}.profile-pane{height:calc(95vh - 112px);overflow:auto}

/* Fiches list — icona, lucchetto e card */
.fiche-toolbar{height:49px;border-bottom:1px solid #eee}.fiche-toolbar .thin-icon:first-of-type{order:3}.fiche-toolbar .thin-icon:last-of-type{order:2;color:#888}.fiche-toolbar .salon-search{order:1}.salon-period-row{min-height:45px;background:#fff;position:relative}.salon-period-row:before{content:"Periodo";color:var(--pink);font-size:17px}.salon-period-row>span:first-child{display:none}.salon-period-row:after{content:"";position:absolute;right:19px;top:13px;width:16px;height:17px;border:2px solid var(--pink);border-radius:1px}.fiche-row{min-height:94px;padding-left:8px}.salon-fiche-icon{width:58px;height:58px;border:2px solid #ef113f;border-radius:5px;display:grid;place-items:center;position:relative;flex:0 0 auto}.salon-fiche-icon:before{content:"";width:26px;height:38px;border:3px solid #ef113f;transform:skew(-4deg);position:absolute}.salon-fiche-icon i{position:absolute;width:22px;height:2px;background:#ef113f;left:18px}.salon-fiche-icon i:nth-child(1){top:19px}.salon-fiche-icon i:nth-child(2){top:27px}.salon-fiche-icon i:nth-child(3){top:35px}.fiche-row .fiche-main{gap:1px}.fiche-row .fiche-main b{font-size:18px}.fiche-price{margin-top:4px;background:#3496d4!important;border-radius:5px;padding:4px 12px;font-size:15px}.fiche-row-actions{margin-left:auto;display:flex;gap:13px;align-items:center}.fiche-row-actions button{border:0;background:transparent;padding:3px;width:31px;height:37px;position:relative}.padlock-btn .lock-body{position:absolute;width:18px;height:17px;border:2px solid #858585;left:6px;top:17px;border-radius:2px}.padlock-btn .lock-shackle{position:absolute;width:15px;height:15px;border:2px solid #858585;border-bottom:0;border-radius:10px 10px 0 0;left:8px;top:5px}.padlock-btn:not(.locked) .lock-shackle{transform:translateX(4px) rotate(18deg);transform-origin:bottom left}.padlock-btn.locked .lock-body,.padlock-btn.locked .lock-shackle{border-color:var(--pink)}.fiche-client-card{border:0!important;background:var(--pink)!important;width:24px!important;height:30px!important;margin-right:3px;border-radius:1px!important}.fiche-client-card:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:white;top:5px;left:8px}.fiche-client-card:after{content:"";position:absolute;width:14px;height:8px;border-radius:8px 8px 0 0;background:#fff;left:5px;bottom:4px}.fiche-totals-bar{height:42px;align-items:center;padding:0 12px}.mini-calendar-icon{width:18px;height:16px;border:2px solid var(--pink);display:inline-block;position:relative}.mini-calendar-icon:before{content:"";position:absolute;left:-2px;right:-2px;top:3px;border-top:2px solid var(--pink)}.mini-list-icon{font-style:normal;color:var(--pink);font-size:24px;line-height:14px}

/* Fiche editor = route full-page sopra nav, non popup centrale */
.fiche-route-dialog[open]{position:fixed;inset:0 0 var(--footer) 0;width:100vw;max-width:none;height:calc(100vh - var(--footer));max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#fff;z-index:95;overflow:hidden}.fiche-route-dialog::backdrop{background:transparent}.fiche-route-dialog .fiche-form{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;overflow:hidden}.fiche-header{height:57px;display:grid;grid-template-columns:55px 1fr 190px;align-items:center;border-bottom:1px solid #eee;background:#fff}.fiche-header button{height:100%;border:0;background:transparent;color:var(--pink);font-size:22px}.fiche-header h3{margin:0;color:var(--pink);font-weight:400;font-size:20px}.fiche-header>div{display:flex;justify-content:flex-end;height:100%}.fiche-layout{height:calc(100% - 57px);grid-template-columns:66.2% 33.8%}.fiche-left{height:100%;overflow:hidden}.fiche-left>.salon-search{flex:0 0 44px}.fiche-items{flex:0 0 auto;max-height:270px;overflow:auto}.fiche-service-picker{flex:1;min-height:0;overflow:auto}.picker-toggle{width:100%;height:45px;border:0;background:#fff;color:#222;font-size:16px}.picker-toggle.add{margin:auto;display:block;color:#222}.picker-toggle.add::first-letter{color:var(--pink)}.fiche-client-bottom{flex:0 0 48px}.payment-box{height:100%;padding:0 15px 52px;position:relative}.payment-title{height:50px}.payment-bottom-total{position:absolute;left:0;right:0;bottom:0;height:47px;border-top:1px solid #ddd;background:#fff;display:flex;align-items:center;gap:16px;padding:0 14px;color:var(--pink);font-size:24px}.payment-bottom-total b{font-weight:400}.fiche-form .fiscal-buttons button:disabled,.payment-confirm-dialog .fiscal-buttons button:disabled{background:#e77c9f!important;opacity:.65;cursor:not-allowed}

/* Lucchetto pagamento: popup dedicato, come SalonApp */
.payment-confirm-dialog{width:min(1035px,96vw);max-width:1035px;height:min(780px,91vh);padding:0;border:0}.payment-confirm-dialog .salon-modal-form{height:100%;max-height:none}.payment-confirm-head{height:58px}.payment-confirm-body{height:calc(100% - 58px);overflow:auto;padding:12px 18px 28px;background-color:#fff;background-image:linear-gradient(145deg,rgba(0,0,0,.018) 25%,transparent 25%),linear-gradient(35deg,rgba(0,0,0,.018) 25%,transparent 25%);background-size:42px 42px}.lock-payment-lines{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;max-width:660px}.lock-totals{max-width:660px;margin-top:18px}.payment-confirm-body .fiscal-buttons{max-width:660px}

/* Le X non devono mai dipendere da ESC */
.salon-modal-head button,.event-side-head button,.event-main-head button,.fiche-header button{outline:none}.salon-modal-head button:hover,.event-side-head button:hover,.event-main-head button:hover{background:#fff5f8}

@media(max-width:760px){.settings-tabs{grid-template-columns:repeat(6,140px);overflow:auto}.client-dialog,.profile-dialog,.collaborator-dialog,.payment-confirm-dialog{width:98vw;height:94vh}.profile-tabs{grid-template-columns:repeat(7,140px)}.fiche-route-dialog[open]{bottom:var(--footer);height:calc(100vh - var(--footer))}.fiche-layout{grid-template-columns:1fr;overflow:auto}.fiche-left{min-height:600px}.payment-box{min-height:690px}.client-row.selected-row{padding-right:104px}}
.fiche-period-summary{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 2px;border-bottom:1px solid #e5e5e5;background:#fff;color:var(--pink);font-size:17px}.fiche-period-summary>div{display:flex;gap:20px;align-items:center}.period-calendar-btn{border:0;background:transparent;color:var(--pink);font-size:24px}.global-lock-btn{border:0;background:transparent;width:28px;height:34px;position:relative}.global-lock-btn .lock-body{position:absolute;width:16px;height:16px;border:2px solid var(--pink);left:6px;top:16px}.global-lock-btn .lock-shackle{position:absolute;width:14px;height:14px;border:2px solid var(--pink);border-bottom:0;border-radius:9px 9px 0 0;left:7px;top:5px}.salon-period-row:before,.salon-period-row:after{content:none!important}.salon-period-row{min-height:44px;padding:6px 12px}.fiche-toolbar-person{color:#8a8a8a!important;margin-right:8px}
.client-row.selected-row{padding-right:156px}.client-edit-actions{width:auto;min-width:104px}.client-edit-actions button{flex:0 0 52px}.client-edit-actions button:nth-child(3){border-left:1px solid #eee}
.payment-confirm-body .lock-payment-lines,.payment-confirm-body .lock-totals,.payment-confirm-body .fiscal-buttons{max-width:none;width:100%}.payment-confirm-body .lock-payment-lines{grid-template-columns:1fr 1fr}.payment-confirm-body .lock-payment-lines .pay-line:nth-child(3){grid-column:1/2}.payment-confirm-body .advanced-pay{margin:14px auto}.payment-confirm-body .preventivo{margin-left:4px}
.prefix-wrap select{appearance:none;padding-right:56px}.prefix-clear{position:absolute;right:25px;top:8px;width:24px;height:26px;border:0;background:transparent;color:#777;font-size:22px;line-height:22px;z-index:2}.prefix-caret{position:absolute;right:7px;top:9px;color:#777;font-size:18px;pointer-events:none}
.collaborator-dialog .salon-modal-head>div:before{content:none!important}.header-trash{color:var(--pink)!important;font-size:21px!important}

/* v0.4.1 — SalonApp parity precision pass */
.profile-dialog{width:min(1024px,94vw);max-width:1024px;height:min(825px,91vh);padding:0;border:0}
.profile-modal-form{height:100%;max-height:none;overflow:hidden}
.profile-modal-head{height:57px;box-shadow:none;border-bottom:1px solid #ececec}
.profile-tabs{height:53px;display:grid;grid-template-columns:repeat(7,1fr);background:#fff;border-bottom:1px solid #e6e6e6;overflow:visible;position:relative;top:auto}
.profile-tabs button{border:0;background:#fff;color:#444;font-size:15px;min-width:0;white-space:nowrap;position:relative}
.profile-tabs button.active{color:#a9003b;background:#fff}
.profile-tabs button.active:after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:2px;background:#a9003b}
.profile-pane{max-width:none;margin:0;height:calc(100% - 110px);min-height:0;overflow-y:auto;padding:24px 17.5% 34px;background-color:#fff;background-image:linear-gradient(120deg,rgba(210,210,210,.17) 1px,transparent 1px),linear-gradient(64deg,rgba(220,220,220,.14) 1px,transparent 1px);background-size:95px 70px,130px 95px}
.profile-single,.cash-profile{width:100%;display:grid;gap:13px}
.profile-single label,.cash-profile label{display:flex;flex-direction:column;gap:5px;color:#b0003d;font-size:13px;font-weight:400}
.profile-single input,.profile-single select,.cash-profile input,.cash-profile select{height:40px;border:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.14);padding:7px 10px;font-size:16px;color:#333}
.profile-single input[readonly]{background:#fff;color:#666}
.cash-device-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin:-2px 0 2px}
.cash-device-name{height:40px;background:#fff;border:1px solid #ddd;border-radius:8px;color:#b0003d;font-size:14px}
.cash-device-row>div{display:flex;gap:12px}
.cash-device-row>div button{border:0;background:transparent;color:#b0003d;font-size:24px;min-width:34px;height:38px}
.cash-profile small{display:block;color:#777;font-size:11px;margin-top:-9px}
.cash-actions{display:grid;gap:11px;margin-top:2px}
.cash-actions button{height:39px;border:0;background:#d85c8b;color:#fff;font-size:14px;box-shadow:0 2px 6px rgba(0,0,0,.16)}
.booking-profile{padding-top:8px}.booking-enable{justify-content:space-between!important;border-bottom:1px solid #eee;padding:8px 0}
.week-columns-head{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:17px;color:#222;margin:20px 0 19px;padding:0 10px}
.week-columns-head span:nth-child(2){padding-left:8px}
.week-schedule{display:grid;gap:12px}
.week-row.salonapp-week-row{display:block;border:0;padding:0;margin:0;overflow:visible}
.week-day-line{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin-bottom:8px}
.week-day-line>label:first-child{display:flex;align-items:center;gap:8px;color:#222}
.week-day-line>label:first-child input{width:18px;height:18px;accent-color:#b0003d;box-shadow:none;min-height:0}
.week-day-line>label:first-child b{font-weight:400;font-size:16px}
.week-day-line .switch-line{justify-content:flex-start!important;color:#b0003d!important;font-size:14px!important}
.week-day-line .switch-line span{order:0}.week-day-line .switch-line input{order:1}
.week-times{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-bottom:11px}
.week-times.single{grid-template-columns:1fr 1fr}
.week-times input{width:100%;height:39px!important;border:0!important;background:#fff!important;box-shadow:0 4px 11px rgba(0,0,0,.14)!important;padding:7px 10px!important;color:#555}
.week-times.single input.hidden-shift-time{display:none}
.whatsapp-subtabs{display:grid;grid-template-columns:repeat(8,max-content);justify-content:space-between;gap:0;margin:-24px -17.5vw 0;border-bottom:1px solid #ddd;background:#fff;overflow-x:auto}
.whatsapp-subtabs button{padding:13px 18px;font-size:14px;white-space:nowrap;position:relative}
.whatsapp-subtabs button.active:after{content:"";position:absolute;left:8px;right:8px;bottom:0;height:2px;background:#b0003d}
#whatsappProfileBody{min-height:520px;padding-top:34px}
.wa-device-title{text-align:center;font-size:26px;color:#222;margin:4px 0 24px}
.wa-device-buttons{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:510px;margin:0 auto}
.wa-device-buttons button{height:40px;border:0;background:#c90043;color:#fff;font-size:14px;box-shadow:0 3px 7px rgba(0,0,0,.2)}
.wa-device-buttons button.selected{outline:2px solid rgba(201,0,67,.24);outline-offset:3px}
.wa-business-tabs{display:flex;justify-content:center;border-bottom:1px solid #ddd;margin:-34px -17.5vw 24px;background:#fff}
.wa-business-tabs button{border:0;background:#fff;padding:12px 25px;color:#555}.wa-business-tabs button.active{color:#b0003d;border-bottom:2px solid #b0003d}
.wa-business-card{text-align:center;padding:45px 10px;color:#444}.wa-business-card h3{font-weight:400;font-size:23px}.wa-business-card .salon-primary{min-width:260px}

/* Fiches parity */
.fiche-period-actions{display:flex;align-items:center;gap:4px}.fiche-status-select{border:0;background:#fff;color:#333;min-width:112px;height:34px;padding:0 24px 0 8px;font-size:13px}.fiche-status-select:focus{outline:1px solid #ddd}
.fiche-client-bottom{height:48px;grid-template-columns:31px 1fr 33px 27px;padding:0 6px;gap:0}
.fiche-client-person{width:18px;height:18px;border:1.8px solid #b0003d;border-radius:50%;position:relative;margin-left:3px}
.fiche-client-person:after{content:"";position:absolute;width:20px;height:9px;border:1.8px solid #b0003d;border-bottom:0;border-radius:12px 12px 0 0;left:-3px;top:15px}
.fiche-client-bottom select{font-size:12px;color:#333;padding-left:3px;background:#fff}
.fiche-client-bottom button{height:34px;color:#777;font-size:19px}.fiche-client-clear{font-size:23px!important}.fiche-client-caret{font-size:15px!important}
.collab-choice-dialog{width:min(620px,90vw);max-width:620px;padding:0;border:0}.collab-choice-dialog .salon-modal-form{max-height:78vh}.collab-choice-dialog .salon-modal-head{height:57px}.collab-choice-list{padding:5px 0;max-height:60vh;overflow:auto;background:#fff}.collab-choice-row{width:100%;height:53px;border:0;border-bottom:1px solid #ddd;background:#fff;display:flex;align-items:center;gap:15px;padding:0 22px;text-align:left;color:#333;font-size:16px}.collab-choice-row:hover{background:#faf3f6}.collab-radio{width:20px;height:20px;border:2px solid #c90043;border-radius:50%;position:relative}.collab-choice-row.suggested .collab-radio:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#c90043}
.payment-confirm-dialog .payment-confirm-body{padding-left:7%;padding-right:7%}.payment-confirm-dialog .lock-payment-lines,.payment-confirm-dialog .lock-totals,.payment-confirm-dialog .fiscal-buttons{max-width:none}
.payment-confirm-dialog .lock-payment-lines{grid-template-columns:1fr 1fr}.payment-confirm-dialog .pay-line:nth-child(3){grid-column:1/2}

/* Make every explicit dialog close/save control easy to hit without relying on ESC */
.salon-modal-head button,.fiche-header button,.event-main-head button,.event-side-head button{cursor:pointer}.salon-modal-head button:hover,.fiche-header button:hover,.event-main-head button:hover,.event-side-head button:hover{background:rgba(190,0,62,.055)}
.header-trash{color:#b0003d!important}

@media(max-width:760px){.profile-pane{padding-left:18px;padding-right:18px}.profile-tabs{display:flex;overflow-x:auto}.profile-tabs button{min-width:125px}.whatsapp-subtabs{margin:-24px -18px 0;display:flex;justify-content:flex-start}.wa-business-tabs{margin:-34px -18px 24px}.wa-device-title{font-size:20px}.wa-device-buttons{grid-template-columns:1fr}.week-columns-head{grid-template-columns:1fr 1fr}.week-day-line{grid-template-columns:1fr 1fr}.week-times{grid-template-columns:1fr 1fr}.week-times.single{grid-template-columns:1fr 1fr}}
/* Correct close-button placement: headers with a direct X no longer require ESC */
.salon-modal-head>h3+button{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:42px;height:42px;display:grid;place-items:center}
#profileWhatsapp{padding-left:0;padding-right:0}
#profileWhatsapp .whatsapp-subtabs{margin:-24px 0 0;padding:0 8px}
#profileWhatsapp #whatsappProfileBody{padding-left:17.5%;padding-right:17.5%}
#profileWhatsapp .wa-business-tabs{margin:-34px -26.9% 24px}
@media(max-width:760px){#profileWhatsapp #whatsappProfileBody{padding-left:18px;padding-right:18px}#profileWhatsapp .wa-business-tabs{margin:-34px -18px 24px}}
.empty-client-message{padding:7px 12px;color:#222;font-size:14px}
/* Target profile — parity with SalonApp */
#profileTarget{padding:0;overflow:auto}
.target-topline{height:54px;display:flex;align-items:center;justify-content:center;gap:14px;background:#fff;border-bottom:1px solid #eee;position:relative}
.target-topline>button{border:0;background:transparent;color:#b0003d;font-size:27px;width:34px;height:42px}.target-topline strong{font-size:17px;font-weight:400;color:#333}.target-topline strong span{color:#777}.target-save-inline{position:absolute!important;right:14px;font-size:22px!important}
.target-collabs{height:50px;display:flex;overflow-x:auto;background:#fff;border-bottom:1px solid #ddd;padding:0 4px}
.target-collabs button{min-width:92px;max-width:120px;border:0;background:#fff;color:#333;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 9px;position:relative}
.target-collabs button.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:#b0003d}
.target-fields{padding:18px 13%;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 28px;background-color:#fff;background-image:linear-gradient(120deg,rgba(210,210,210,.17) 1px,transparent 1px),linear-gradient(64deg,rgba(220,220,220,.14) 1px,transparent 1px);background-size:95px 70px,130px 95px}
.target-fields label{display:flex;flex-direction:column;gap:6px;color:#b0003d;font-size:13px}.target-fields input{height:40px;border:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.14);padding:7px 10px;font-size:16px}.target-passages{grid-column:2/3}
.target-analytic-title{margin:18px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);height:38px;display:grid;place-items:center;font-size:16px;color:#222}
@media(max-width:760px){.target-fields{padding:18px;grid-template-columns:1fr}.target-passages{grid-column:auto}}
/* Cambio Password */
.password-dialog{width:min(610px,90vw);height:min(610px,82vh);max-width:610px;padding:0;border:0}
.password-form{height:100%;max-height:none;background-color:#fff;background-image:linear-gradient(120deg,rgba(210,210,210,.17) 1px,transparent 1px),linear-gradient(64deg,rgba(220,220,220,.14) 1px,transparent 1px);background-size:95px 70px,130px 95px}
.password-head{height:58px;display:flex;align-items:center;justify-content:center;position:relative;color:#b0003d}.password-head h3{font-weight:400;font-size:19px;margin:0}.password-head button{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#b0003d;font-size:26px;width:40px;height:40px}
.password-body{background:transparent!important;padding:42px 19%;display:grid;gap:22px}.password-body label{display:flex;flex-direction:column;gap:6px;color:#b0003d;font-size:13px}.password-body input{height:42px;border:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.16);padding:8px 10px;font-size:16px}.password-body small{font-size:11px;color:#6d273e;text-align:center;margin-top:-13px}.password-body .salon-primary{height:42px;font-size:15px;text-transform:none}
/* Eliminati: SalonApp mostra modifica + cestino (2 azioni) */
.client-row.selected-row{padding-right:104px}.client-edit-actions{width:104px;min-width:104px}.client-edit-actions button:nth-child(3){display:none}
/* Galleria */
.gallery-search-row{display:grid;grid-template-columns:1fr 45px;align-items:center}.gallery-filter-round{width:31px;height:31px;border:2px solid #b0003d;border-radius:50%;background:#fff;color:#b0003d;font-size:16px;justify-self:center}.gallery-advanced-toggle{height:48px;width:100%;border:0;border-bottom:1px solid #ddd;background:#fff;color:#222;font-size:16px}.gallery-advanced-toggle::first-letter{color:#b0003d}.gallery-advanced{padding:10px 18px;border-bottom:1px solid #ddd;background:#fff}.gallery-advanced label{display:flex;gap:10px;align-items:center;color:#b0003d}.gallery-advanced select{height:36px;min-width:240px;border:1px solid #ddd;background:#fff}


/* ==========================================================
   v0.4.3 - PARITÀ FICHES RILEVATA DA DOM/HAR SALONAPP
   ========================================================== */
#view-fiches{height:100%;display:none;flex-direction:column;overflow:hidden}
#view-fiches.active-view{display:flex}
#view-fiches .fiche-toolbar{flex:0 0 49px;height:49px;border-bottom:0}
#view-fiches .fiche-toolbar .salon-search{height:38px;margin:5px 8px;border-radius:9px;background:#f7f7f8}
.search-lens{width:14px;height:14px;border:2px solid #3d4557;border-radius:50%;display:inline-block;position:relative;flex:0 0 auto}
.search-lens:after{content:"";position:absolute;width:7px;height:2px;background:#3d4557;right:-5px;bottom:-2px;transform:rotate(45deg);border-radius:2px}
.fiche-toolbar-person{width:42px;height:42px;display:grid;place-items:center;margin-right:6px!important}
.toolbar-client-card{position:relative;width:20px;height:23px;background:#858585;border-radius:1px;display:block}
.toolbar-client-card:before{content:"";position:absolute;width:7px;height:7px;background:#fff;border-radius:50%;left:6.5px;top:4px}
.toolbar-client-card:after{content:"";position:absolute;width:12px;height:7px;background:#fff;border-radius:8px 8px 1px 1px;left:4px;bottom:3px}

.fiche-period-summary{flex:0 0 45px;height:45px;padding:0 9px 0 2px;border-top:1px solid #f0f0f0;border-bottom:1px solid #dfdfe2;font-size:17px}
.fiche-period-actions{height:100%;gap:7px}
.period-calendar-btn{width:40px;height:40px;display:grid;place-items:center;padding:0}
.calendar-outline-icon{width:20px;height:19px;border:2px solid var(--pink);border-radius:2px;display:block;position:relative}
.calendar-outline-icon:before{content:"";position:absolute;left:-2px;right:-2px;top:4px;border-top:2px solid var(--pink)}
.calendar-outline-icon:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:var(--pink);left:4px;top:9px;box-shadow:6px 0 var(--pink),0 5px var(--pink),6px 5px var(--pink)}
.global-lock-btn{width:38px;height:40px}
.global-lock-btn .lock-body{left:10px;top:18px;width:17px;height:16px}
.global-lock-btn .lock-shackle{left:11px;top:6px;width:15px;height:14px}

.fiche-lock-popover{position:fixed;right:8px;top:calc(var(--top) + 90px);z-index:185;width:196px;background:#fff;border:1px solid #ddd;box-shadow:0 5px 18px rgba(0,0,0,.23)}
.fiche-lock-popover button{width:100%;height:44px;border:0;border-bottom:1px solid #e6e6e6;background:#fff;text-align:left;padding:0 12px;display:flex;align-items:center;gap:11px;font-size:14px}
.fiche-lock-popover button.active{color:var(--pink)}
.lock-filter{width:19px;height:20px;position:relative;display:inline-block}
.lock-filter:after{content:"";position:absolute;left:2px;bottom:0;width:14px;height:12px;border:2px solid currentColor;border-radius:2px}
.lock-filter:before{content:"";position:absolute;left:4px;top:1px;width:10px;height:10px;border:2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}
.lock-filter.open:before{transform:translateX(4px) rotate(19deg);transform-origin:bottom left}

.fiche-list{flex:1;min-height:0;overflow-y:auto;border-top:0}
.fiche-slide{position:relative;overflow:hidden;min-height:95px;background:#d3b88e}
.fiche-slide-delete{position:absolute;right:0;top:0;bottom:0;width:82px;border:0;background:#d6bc95;color:#d60042;display:grid;place-items:center;font-size:28px}
.fiche-slide-delete .trash-icon{width:20px;height:22px;border:3px solid #d60042;border-top:0;position:relative}
.fiche-slide-delete .trash-icon:before{content:"";position:absolute;left:-4px;right:-4px;top:-5px;border-top:3px solid #d60042}
.fiche-slide-delete .trash-icon:after{content:"";position:absolute;width:8px;height:3px;border:2px solid #d60042;border-bottom:0;left:3px;top:-10px}
.fiche-slide-content{position:relative;z-index:2;transition:transform .16s ease;touch-action:pan-y;background:#fff}
.fiche-slide.revealed .fiche-slide-content{transform:translateX(-82px)}
.fiche-row{height:95px;min-height:95px;padding:8px 8px;gap:14px;user-select:none}
.salon-fiche-icon{width:58px;height:58px}
.fiche-row .fiche-main{height:72px;justify-content:center;gap:1px}
.fiche-row .fiche-main b{font-size:18px;font-weight:400;color:#25304e;line-height:1.2}
.fiche-row .fiche-main>span:not(.fiche-price){color:#4f5665;font-size:12px;font-weight:300}
.fiche-price{font-size:15px!important;padding:4px 12px!important;margin-top:3px!important;background:rgb(61,144,209)!important}
.fiche-row-actions{gap:12px;padding-right:3px}
.fiche-row-actions .padlock-btn{width:31px;height:39px}
.fiche-client-card{width:25px!important;height:31px!important}

.fiche-totals-bar{flex:0 0 42px;height:42px;position:relative;bottom:auto;padding:0 12px;background:#fff;font-size:14px;display:flex;align-items:center;justify-content:space-between}
.fiche-totals-bar>span{align-items:center;gap:7px}
.fiche-totals-bar>span b{font-weight:600}
.fiche-total-separator{display:inline-block;border-left:1px solid #ccc;padding-left:7px;margin-left:2px}
.mini-calendar-icon{width:20px;height:18px}
.mini-list-icon{font-size:23px}

.fiche-route-dialog[open]{inset:0 0 var(--footer) 0}
.fiche-header{height:57px;grid-template-columns:53px 1fr 185px}
.fiche-header h3{font-size:19px}
.fiche-header>div button{width:42px;min-width:42px;padding:0}
.fiche-layout{grid-template-columns:66.2% 33.8%;height:calc(100% - 57px)}
.fiche-left>.salon-search{height:38px;flex-basis:44px;margin:5px 3px}
.fiche-section-title{height:52px;padding:16px 6px 10px;font-size:17px}
.fiche-items{max-height:255px}
.fiche-item-row{min-height:49px;grid-template-columns:minmax(0,1fr) 132px 34px 66px;padding:0 6px}
.fiche-item-row>span:first-child{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fiche-item-row .collab-name{font-size:15px;text-align:right;padding-right:4px}
.fiche-item-row .item-price{width:58px;height:29px;border:0;background:var(--pink);font-size:14px}
.products-title{height:52px;padding:16px 6px 10px}
.picker-toggle{height:45px}
.picker-header{height:48px;padding:14px 12px;font-size:16px}
.picker-service{height:49px;min-height:49px;grid-template-columns:minmax(0,1fr) 42px 67px;padding:0 12px}
.picker-service>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}
.picker-person{width:28px;height:28px;position:relative!important;background:#8d8d8d!important;border-radius:0!important;margin:auto}
.picker-person:before{content:"";position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;left:10px;top:4px}
.picker-person:after{content:"";position:absolute;width:15px;height:9px;background:#fff;border-radius:10px 10px 1px 1px;left:6.5px;bottom:4px}
.picker-service.already-selected .picker-person{background:var(--pink)!important}
.picker-price{font-size:14px;padding:5px 7px!important}
.fiche-client-bottom{height:48px;grid-template-columns:31px minmax(0,1fr) 30px 30px;padding:0 6px;gap:2px}
.fiche-client-person{width:18px;height:18px;border:2px solid var(--pink);border-radius:50%;position:relative}
.fiche-client-person:after{content:"";position:absolute;width:18px;height:8px;border:2px solid var(--pink);border-bottom:0;border-radius:10px 10px 0 0;left:-2px;top:13px}
.fiche-client-bottom select{font-size:14px}
.fiche-client-clear,.fiche-client-caret{font-size:22px;color:#777}

.payment-box{padding:0 15px 52px}
.payment-title{height:50px;font-size:16px}
.payment-title h3{font-size:18px}
.payment-lines{gap:12px 13px}
.pay-line label{font-size:14px}
.pay-line input{height:40px;font-size:16px}
.advanced-pay{margin:16px auto 14px}
.preventivo{margin:7px 0 24px}
.payment-totals>div{min-height:52px;margin-bottom:9px}
.payment-totals>div:first-child{grid-template-columns:1fr 125px}
.payment-totals strong{font-size:16px}
.fiscal-buttons{gap:11px;margin-top:21px}
.fiscal-buttons button{height:38px;padding:8px;font-size:14px}
.payment-bottom-total{height:48px;font-size:22px;gap:16px}
.payment-state-lock{width:29px;height:36px;position:relative;display:inline-block;border:0;background:transparent;padding:0;cursor:pointer;flex:0 0 29px}.payment-state-lock:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.payment-lines .payment-locked input:disabled{opacity:.72;background:#f3f3f3;cursor:not-allowed}.advanced-pay:disabled{opacity:.45;cursor:not-allowed}
.payment-state-lock .lock-body{position:absolute;width:18px;height:17px;border:2px solid #7e7e7e;left:5px;top:17px;border-radius:2px}
.payment-state-lock .lock-shackle{position:absolute;width:15px;height:15px;border:2px solid #7e7e7e;border-bottom:0;border-radius:10px 10px 0 0;left:7px;top:5px}
.payment-state-lock.open .lock-shackle{transform:translateX(4px) rotate(18deg);transform-origin:bottom left}
.payment-state-lock.closed .lock-body,.payment-state-lock.closed .lock-shackle{border-color:var(--pink)}
.payment-state-lock.closed .lock-shackle{transform:none}
.payment-bottom-total b{font-size:23px}

.confirm-box{min-width:420px;max-width:560px;padding:24px 28px;text-align:left}
.confirm-box h3{color:var(--pink);font-weight:400;font-size:18px;text-align:center;margin:0 0 20px}
.confirm-box p{text-align:center;font-size:15px;line-height:1.45}
.confirm-box>div{justify-content:flex-end}
.confirm-box button{font-size:14px}

.busy-overlay{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.30);display:grid;place-items:center}
.busy-card{background:#fff;min-width:260px;min-height:112px;display:flex;align-items:center;justify-content:center;gap:15px;box-shadow:0 6px 22px rgba(0,0,0,.27);font-size:16px}
.busy-spinner{width:29px;height:29px;border:3px solid #ddd;border-top-color:var(--pink);border-radius:50%;animation:cp-spin .7s linear infinite}
@keyframes cp-spin{to{transform:rotate(360deg)}}

@media(max-width:760px){
  .fiche-lock-popover{right:4px}
  .fiche-row{height:95px}
  .fiche-item-row{grid-template-columns:minmax(0,1fr) 100px 30px 60px}
}


.fiche-technical-card{border:0!important;background:transparent!important;width:27px!important;height:31px!important;position:relative!important;padding:0!important}
.fiche-technical-card:before{content:"";position:absolute;width:16px;height:22px;border:2px solid var(--pink);left:5px;top:4px;border-radius:1px}
.fiche-technical-card:after{content:"";position:absolute;width:11px;height:2px;background:var(--pink);left:8px;top:11px;box-shadow:0 5px var(--pink),0 10px var(--pink)}

/* v0.4.3 · Clienti parity da HAR SalonApp */
.client-advanced-panel{background:#fff;border-bottom:1px solid #d6d6d9;box-shadow:0 4px 10px rgba(0,0,0,.08);padding:0 16px 14px;position:relative;z-index:6}.client-advanced-title{height:44px;display:flex;align-items:center;justify-content:space-between;color:var(--pink);font-size:16px;border-bottom:1px solid #eee}.client-advanced-title button{border:0;background:transparent;color:#777;font-size:24px;line-height:1}.client-advanced-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px 20px;padding-top:12px}.client-advanced-grid label{display:flex;flex-direction:column;gap:4px;color:var(--pink);font-size:11px}.client-advanced-grid select,.client-advanced-grid input{height:34px;border:0;border-bottom:1px solid #bfc0c5;background:#fff;color:#333;outline:none}.client-advanced-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:13px}.client-advanced-actions button{min-width:90px;height:33px;border:1px solid var(--pink);background:#fff;color:var(--pink);border-radius:3px}.client-advanced-actions .salon-primary{background:var(--pink);color:#fff}.top-section-icons button{cursor:pointer}
@media(max-width:900px){.client-advanced-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}


/* v0.4.4 — WACZ source parity pass: schermate catturate 18/08/2026 */
.topbar.home-mode{grid-template-columns:1fr auto}.topbar.home-mode .top-title{position:absolute;left:50%;transform:translateX(-50%);font-size:17px}.topbar.home-mode .top-context{display:none}.topbar.home-mode .top-actions{grid-column:2}
.topbar:not(.home-mode) .top-title{font-size:18px}.topbar:not(.home-mode) .top-home{font-size:25px}
.agenda-top-icons{display:flex;align-items:center;gap:14px;height:100%}.agenda-top-icons button{position:relative;border:0;background:transparent;color:var(--pink);font-size:21px;min-width:28px;height:42px;padding:0}.agenda-top-icons sup{position:absolute;right:-4px;top:0;background:#fff;color:var(--pink);border:1.5px solid var(--pink);border-radius:3px;font-size:8px;line-height:13px;min-width:15px}.agenda-top-icons .badge-round{width:27px;height:27px;border:1.5px solid var(--pink);border-radius:50%;font-size:10px}.agenda-profile-icon span{display:block;width:13px;height:13px;border:1.6px solid var(--pink);border-radius:50%;margin:1px auto 0;position:relative}.agenda-profile-icon span:after{content:"";position:absolute;width:18px;height:9px;border:1.6px solid var(--pink);border-bottom:0;border-radius:12px 12px 0 0;left:-4px;top:13px}
#view-clients>.salon-search{height:32px;margin:8px 18px 7px;border-radius:8px;background:#f6f6f7}.salon-filter-row{padding:7px 13px 4px;gap:5px;box-shadow:0 5px 12px rgba(0,0,0,.10)}.salon-filter-row button{height:30px;padding:4px 8px;border-radius:6px;font-size:12px;min-width:120px}
#clientsCount{height:40px;padding:0 13px;display:flex;align-items:center;gap:9px;font-size:14px}#clientsCount:before{content:"";width:14px;height:14px;background:radial-gradient(circle,#8b8b8b 1.6px,transparent 2px) 0 0/5px 5px;display:inline-block}
#view-fiches .fiche-toolbar{height:48px}#view-fiches .fiche-toolbar .salon-search{height:32px;margin:8px 14px;border-radius:9px}.fiche-period-summary{height:44px;font-size:14px;padding-left:8px;box-shadow:0 5px 12px rgba(0,0,0,.08)}.fiche-row{height:82px;min-height:82px;padding:5px 13px;gap:14px}.fiche-slide{min-height:82px}.salon-fiche-icon{width:52px;height:52px}.fiche-row .fiche-main{height:66px}.fiche-row .fiche-main b{font-size:16px}.fiche-row .fiche-main>span:not(.fiche-price){font-size:11px}.fiche-price{font-size:12px!important;padding:4px 10px!important;border-radius:4px!important}.fiche-row-actions{gap:10px}.fiche-totals-bar{height:41px;flex-basis:41px;font-size:13px;padding:0 14px}.fiche-totals-bar>span:last-child{margin-left:auto}.mini-list-icon{color:var(--pink);font-style:normal;font-size:20px}.mini-calendar-icon{width:17px;height:16px}
.report-gate{min-height:100%;background-color:#fff;background-image:linear-gradient(118deg,transparent 0 35%,rgba(223,223,223,.18) 35.2% 35.6%,transparent 35.8% 100%),linear-gradient(61deg,transparent 0 56%,rgba(218,218,218,.15) 56.2% 56.6%,transparent 56.8% 100%);background-size:220px 170px,300px 230px}.report-gate-card{width:min(790px,72vw);margin:0 auto;padding-top:34px;text-align:center}.report-gate-logo{width:74px;height:74px;background:#f24431;color:#fff;border-radius:7px;margin:0 auto 38px;display:grid;grid-template-columns:repeat(4,1fr);align-content:start;padding:12px 7px 5px;position:relative}.report-gate-logo span{height:19px;border:2px solid #fff;display:grid;place-items:center;font-size:12px;font-weight:600}.report-gate-logo b{position:absolute;left:17px;bottom:4px;font-size:38px;font-weight:400;transform:rotate(-5deg)}.report-gate-card p{font-size:13px;line-height:1.15;margin:0 0 18px;color:#222}.report-gate-card p b{font-weight:400}.report-gate-card h3{font-size:13px;line-height:1.05;color:var(--pink);font-weight:400;margin:0 0 23px}.report-gate-card label{display:block;text-align:left;color:var(--pink);font-size:12px}.report-gate-card input{width:100%;height:37px;border:0;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.16);padding:0 10px;margin-top:7px}.report-gate-card .salon-primary{height:34px;padding:0;margin-top:20px;font-size:13px}
.report-base{background:#fff;min-height:100%}.report-menu-row{height:84px;display:flex;align-items:center;border-bottom:1px solid #cfd0d5;padding:0 16px;gap:16px;box-shadow:none}.report-menu-row>div:last-child{display:flex;flex-direction:column;gap:9px}.report-menu-row b{font-size:16px;font-weight:400;color:#26304b}.report-menu-row span{font-size:13px;color:#4c536a}.report-menu-icon{width:64px;min-width:64px;height:64px;color:var(--pink);position:relative;display:grid;place-items:center}.report-menu-icon.calendar{border:0;background:var(--pink);color:#fff;border-radius:3px;height:62px;font-size:25px;font-weight:600}.report-menu-icon.calendar:before{content:"";position:absolute;left:10px;right:10px;top:14px;border-top:3px solid #fff}.report-menu-icon.person:before{content:"";width:31px;height:31px;border:5px solid var(--pink);border-radius:50%;position:absolute;top:1px}.report-menu-icon.person:after{content:"";width:54px;height:27px;background:var(--pink);border-radius:32px 32px 4px 4px;position:absolute;bottom:2px}.report-menu-icon.person.plus i{display:none}.report-menu-icon.person.plus b{display:none}.report-menu-icon.person.plus:after{width:44px;left:0}.report-menu-icon.person.plus{overflow:visible}.report-menu-icon.person.plus{--x:0}.report-menu-icon.person.plus::marker{display:none}.report-menu-icon.fiche-mini{border:2px solid #e5002f;border-radius:3px;width:54px;min-width:54px;height:62px;margin-left:5px}.report-menu-icon.fiche-mini:before{content:"";position:absolute;inset:7px;background:repeating-linear-gradient(90deg,#e5002f 0 4px,transparent 4px 7px);transform:skew(-12deg)}.report-disabled{cursor:not-allowed}.report-disabled:after{content:"NON ATTIVO";margin-left:auto;color:#aaa;font-size:10px;letter-spacing:.5px}
@media(max-width:760px){.report-gate-card{width:88vw}.report-menu-row{height:76px;padding:0 10px;gap:10px}.report-menu-icon{width:50px;min-width:50px}.agenda-top-icons{gap:7px}}

/* v0.4.4 · dettaglio icona Report clienti rilevato dal WACZ */
.report-menu-icon.person.plus:before{left:6px;z-index:1}
.report-menu-icon.person.plus:after{width:44px;left:0}
.report-menu-icon.person.plus{overflow:visible}
.report-menu-icon.person.plus i.report-plus-badge{display:grid!important;position:absolute;right:0;top:2px;z-index:4;width:23px;height:23px;border-radius:50%;background:var(--pink);color:#fff;font:700 18px/1 Arial,sans-serif;place-items:center;font-style:normal;border:2px solid #fff;pointer-events:none}

/* v0.4.5 — HAR parity patch 19/08/2026 */
.collab-permission-title{margin-top:4px;padding-top:10px;border-top:1px solid #e7e7e7;color:var(--pink);font-size:12px;letter-spacing:.25px}.collab-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:7px 14px}.collab-permission-grid label{display:flex;align-items:center;gap:8px;color:#444;font-size:12px;min-height:30px}.collab-permission-grid input{width:18px;height:18px;min-height:0;box-shadow:none}.schedule-source-note{padding:8px 4px 12px;color:#777;font-size:12px}.target-fields label small{display:block;margin-top:5px;color:#7b7b7b;font-size:11px;font-weight:400}.history-context-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 8px;border-bottom:1px solid #ddd;background:#fafafa}.history-context-summary>div{background:#fff;border:1px solid #e1e1e1;padding:8px;display:flex;flex-direction:column;gap:4px}.history-context-summary small{color:#777}.history-context-summary b{font-weight:400;color:#333}.preferred-services-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid #ddd;font-size:11px}.preferred-services-strip span{color:var(--pink)}.preferred-services-strip b{font-weight:400;background:#f4f4f5;border-radius:10px;padding:4px 8px}
@media(max-width:900px){.collab-permission-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.history-context-summary{grid-template-columns:repeat(2,1fr)}}

/* v0.6.3 — Report period controls, always visible and functional */
.report-period-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:10px 18px;background:#fbfbfc;border-bottom:1px solid #dedee2;box-shadow:0 2px 7px rgba(0,0,0,.04)}
.report-period-controls label{display:flex;flex-direction:column;gap:4px;min-width:130px;color:var(--pink);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.35px}
.report-period-controls select,.report-period-controls input{height:35px;border:1px solid #cfcfd4;border-radius:6px;background:#fff;color:#2e3450;padding:0 9px;font-size:14px;outline:none}
.report-period-controls select:focus,.report-period-controls input:focus{border-color:var(--pink);box-shadow:0 0 0 2px rgba(214,0,66,.08)}
.report-period-readout{margin-left:auto;align-self:center;color:#555;font-size:13px;white-space:nowrap}
.year-context select{min-width:82px;cursor:pointer}
.report-detail-strip strong{padding:0 10px;white-space:normal;line-height:1.15}
@media(max-width:760px){.report-period-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px 10px}.report-period-controls label{min-width:0}.report-period-controls label:nth-child(3){grid-column:1/-1}.report-period-readout{grid-column:1/-1;margin-left:0;text-align:center;white-space:normal;font-size:12px}.report-detail-strip{height:58px;grid-template-columns:44px 1fr 44px}.report-detail-strip strong{font-size:15px}.top-context{display:none}}

/* v0.6.4 STABILITA + HOME LOGO + CALENDARIO FICHES */
.salon-home{background:#f4f4f4;position:relative;overflow:hidden}
.home-logo-zone{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 6vw 70px;pointer-events:none}
.home-official-logo{display:block;width:min(620px,54vw);max-width:78%;height:auto;max-height:34vh;object-fit:contain;object-position:center;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 7px 15px rgba(0,0,0,.13))}
@media(max-width:760px){.home-logo-zone{padding:0 6vw 92px}.home-official-logo{width:min(88vw,560px);max-width:88%;max-height:29vh}}
@media(max-height:700px) and (min-width:761px){.home-logo-zone{padding-bottom:78px}.home-official-logo{width:min(540px,50vw);max-height:30vh}}
.fiche-calendar-control{position:relative;height:40px;display:flex;align-items:center}
.fiche-calendar-control .period-calendar-btn{height:40px;min-width:132px;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:0 4px 0 8px;border:0;background:transparent;color:var(--pink)}
.fiche-period-date{min-width:86px;text-align:right;font-size:13px;line-height:1;color:#555;font-variant-numeric:tabular-nums}
.fiche-day-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:4;border:0}
.fiche-day-native::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
@media(max-width:520px){.fiche-calendar-control .period-calendar-btn{min-width:112px}.fiche-period-date{min-width:72px;font-size:12px}}



/* v0.6.7 — Home viewport lock: elimina lo scorrimento verticale residuo */
.content.home-mode{overflow:hidden!important;overscroll-behavior:none}
.content.home-mode #view-home{height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
.content.home-mode .home-logo-zone{inset:0!important;max-height:100%!important;overflow:hidden!important}
.content.home-mode .home-official-logo{max-height:min(34vh,calc(100% - 120px))!important}
@media(max-width:760px){.content.home-mode .home-official-logo{max-height:min(29vh,calc(100% - 150px))!important}}


/* v0.6.8 — Fiches: picker collaboratore sopra il dialog Fiche */
.collab-choice-dialog{width:min(620px,92vw);max-width:620px;padding:0;border:0;border-radius:3px;box-shadow:0 16px 45px rgba(0,0,0,.28)}
.collab-choice-dialog::backdrop{background:rgba(0,0,0,.28)}
.collab-choice-dialog .salon-modal-form{max-height:82vh;overflow:hidden;background:#fff}
.collab-choice-caption{padding:12px 22px 9px;color:#666;font-size:13px;border-bottom:1px solid #eee}
.collab-choice-list{max-height:58vh;overflow:auto;background:#fff}
.collab-choice-row{cursor:pointer}
.collab-choice-row.selected{background:#faf3f6;color:#b0003d}
.collab-choice-row.selected .collab-radio:after{content:"";position:absolute;inset:4px;border-radius:50%;background:#c90043}
.collab-choice-empty{padding:28px 22px;text-align:center;color:#777}
.collab-choice-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #e5e5e5;background:#fff}
.collab-choice-footer button{min-width:120px;height:40px;border:0;cursor:pointer}
.collab-choice-cancel{background:#f2f2f2;color:#444}
.collab-choice-confirm:disabled{opacity:.45;cursor:not-allowed}
.report-gate-card label{display:flex;flex-direction:column;gap:6px;margin:10px 0;text-align:left}
.report-gate-card label input{width:100%}

/* v0.6.9 — Fiches/Clienti parity SalonApp: icone, apertura Fiche, ricerca cliente e frequenza */
/* Icone Clienti coerenti con SalonApp */
.round-client-icon{width:40px!important;height:40px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--pink);display:grid;place-items:center;flex:0 0 40px}
.round-client-icon:before,.round-client-icon:after,.round-client-icon>span:after{display:none!important}
.sa-client-avatar{width:38px;height:38px;display:block;color:var(--pink)}
.client-row-actions{grid-template-columns:repeat(2,28px)!important;grid-auto-rows:27px!important;gap:2px 9px!important;align-items:center!important}
.client-row-actions button{width:28px!important;height:27px!important;padding:2px!important;display:grid!important;place-items:center!important;color:var(--pink)!important;line-height:1!important}
.client-row-actions .gray-action{color:#858585!important}
.sa-action-icon{display:block;width:23px;height:23px;overflow:visible}
.sa-phone{width:21px;height:21px}
.sa-whatsapp{width:22px;height:22px}
.sa-email{width:21px;height:18px}
.sa-client-card{position:relative;display:block;width:18px;height:22px;background:var(--pink);border-radius:1px}
.sa-client-card:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;left:6px;top:4px}
.sa-client-card:after{content:"";position:absolute;width:11px;height:7px;border-radius:7px 7px 1px 1px;background:#fff;left:3.5px;bottom:3px}
.sa-client-card i{display:none}
.phone-line{display:flex!important;align-items:center;gap:5px;color:#2e3450}
.mini-phone-mark{width:6px;height:11px;border:1.4px solid var(--pink);border-radius:1px;display:inline-block;position:relative;flex:0 0 auto}
.mini-phone-mark:after{content:"";position:absolute;left:1px;right:1px;bottom:1px;border-top:1px solid var(--pink)}

/* Fiches: icona documento come SalonApp */
.salon-fiche-icon{border:0!important;background:transparent!important;color:#e5003f!important;display:grid!important;place-items:center!important}
.salon-fiche-icon:before,.salon-fiche-icon>i{display:none!important}
.salon-fiche-icon svg{width:100%;height:100%;display:block}
.fiche-row{cursor:default}
.fiche-row:focus{outline:1px dotted rgba(197,0,64,.45);outline-offset:-3px}
.fiche-main{user-select:none}

/* Fiches: lucchetto vettoriale leggibile, mai più blocco nero */
.fiche-row-actions .padlock-btn{color:#7e7e7e!important;background:transparent!important;border:0!important;display:grid!important;place-items:center!important;padding:2px!important}
.fiche-row-actions .padlock-btn.locked{color:var(--pink)!important}
.lock-vector{width:25px;height:29px;display:block;overflow:visible;color:inherit}
.lock-vector .lock-v-body,.lock-vector .lock-v-shackle,.lock-vector .lock-v-keyline{fill:none!important;stroke:currentColor!important}
.lock-vector .lock-v-key{fill:currentColor!important;stroke:none!important}
.lock-vector.is-open .lock-v-closed{display:none!important}
.lock-vector.is-open .lock-v-open{display:block!important}
.lock-vector.is-locked .lock-v-open{display:none!important}
.lock-vector.is-locked .lock-v-closed{display:block!important}

/* Scheda tecnica: icona matita come SalonApp */
.fiche-technical-card{color:var(--pink)!important;display:grid!important;place-items:center!important}
.fiche-technical-card:before,.fiche-technical-card:after{display:none!important}
.fiche-technical-card svg{width:25px;height:29px;display:block}

/* Scheda cliente nelle Fiches: stessa icona dei Clienti */
.fiche-client-card{background:transparent!important;width:27px!important;height:32px!important;margin-right:1px!important;display:grid!important;place-items:center!important;padding:0!important}
.fiche-client-card:before,.fiche-client-card:after{display:none!important}
.fiche-client-card .sa-client-card{width:19px;height:24px}

/* Ricerca cliente nella nuova Fiche: vuota finché non si digita */
.fiche-client-bottom{position:relative;overflow:visible!important;grid-template-columns:31px minmax(0,1fr) 30px 30px!important}
.fiche-client-search-wrap{position:relative;min-width:0;height:100%;display:flex;align-items:center}
.fiche-client-search-wrap>input[type="search"]{width:100%;height:37px;border:0;border-bottom:1px solid #d5d5d9;background:#fff;outline:none;font-size:14px;color:#2e3450;padding:0 7px}
.fiche-client-search-wrap>input[type="search"]:focus{border-bottom-color:var(--pink)}
.fiche-client-suggestions{position:absolute;left:0;right:0;bottom:43px;z-index:1200;max-height:285px;overflow:auto;background:#fff;border:1px solid #d9d9dd;box-shadow:0 8px 24px rgba(0,0,0,.18);border-radius:3px;padding:3px 0}
.fiche-client-suggestion{width:100%;min-height:44px;border:0;border-bottom:1px solid #ececee;background:#fff;color:#2e3450;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 9px;text-align:left;cursor:pointer}
.fiche-client-suggestion:last-child{border-bottom:0}
.fiche-client-suggestion:hover,.fiche-client-suggestion.active{background:#fff3f7}
.fiche-client-suggestion>span{width:28px;height:28px;display:grid;place-items:center;color:var(--pink)}
.fiche-client-suggestion .sa-client-avatar{width:27px;height:27px}
.fiche-client-suggestion b{font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fiche-client-suggestion small{font-size:11px;color:#777;white-space:nowrap}
.fiche-client-suggestion mark{background:#ffd8e5;color:#970033;border-radius:2px;padding:0 1px}
.fiche-client-noresult{padding:13px 12px;color:#777;font-size:13px;text-align:left}
.fiche-client-clear,.fiche-client-caret{border:0;background:transparent;cursor:pointer}

/* Un filtro cliente selezionato deve essere evidente come nell'originale */
#clientFilters button.active{box-shadow:inset 0 -2px 0 rgba(255,255,255,.24)}

@media(max-width:760px){
  .fiche-client-suggestion{grid-template-columns:29px minmax(0,1fr)}
  .fiche-client-suggestion small{display:none}
}
/* v0.6.10 — evidenziazione ricerca cliente coerente con SalonApp */
.client-main mark,.phone-line mark{background:#ffd8e5;color:#970033;border-radius:2px;padding:0 1px}

/* v0.6.11 — Fiche header SalonApp + report periodico */
.fiche-header{grid-template-columns:53px 1fr 270px!important}
.fiche-header>.fiche-header-actions{position:static!important;right:auto!important;display:flex!important;align-items:center;justify-content:flex-end;height:100%;gap:2px;padding-right:8px}
.fiche-header .fiche-header-png{width:44px!important;min-width:44px!important;height:100%!important;padding:0!important;display:flex;align-items:center;justify-content:center;background:#fff!important;border:0!important;color:var(--pink)!important}
.fiche-header .fiche-header-png img{width:28px;height:28px;display:block;object-fit:contain;image-rendering:auto;pointer-events:none}
.fiche-header .fiche-date-button{width:104px!important;min-width:104px!important;gap:5px}
.fiche-header .fiche-date-button small{display:inline-block;color:var(--pink);font-size:10px;line-height:1;font-weight:500;white-space:nowrap;pointer-events:none}
.fiche-header .fiche-header-png:hover{background:#fff5f8!important}
.fiche-header .fiche-header-png.hidden{display:none!important}
#ficheSaveBtn.dirty{box-shadow:inset 0 -2px 0 var(--pink)}
#ficheSaveBtn.saved{opacity:.82}
.confirm-box #confirmText{white-space:pre-line;line-height:1.45}
.report-comparison-line{background:#fff8fb;border-left:3px solid var(--pink);padding-left:10px}
.report-comparison-line strong{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){
  .fiche-header{grid-template-columns:45px 1fr 218px!important}
  .fiche-header .fiche-header-png{width:38px!important;min-width:38px!important}
  .fiche-header .fiche-header-png img{width:25px;height:25px}
  .fiche-header .fiche-date-button{width:94px!important;min-width:94px!important}
  .fiche-header .fiche-date-button small{font-size:9px}
}


/* v0.6.12 — allineamento profondo ai flussi osservati su SalonApp */
.client-duplicate-mode{display:grid;grid-template-columns:1fr 1fr;max-width:430px;margin:0 auto 6px;border:1px solid #d7d7da;border-radius:2px;overflow:hidden;background:#fff}
.client-duplicate-mode.hidden{display:none!important}
.client-duplicate-mode button{height:33px;border:0;background:#fff;color:#555;font-size:12px;cursor:pointer;border-right:1px solid #e4e4e6}
.client-duplicate-mode button:last-child{border-right:0}
.client-duplicate-mode button.active{background:var(--pink);color:#fff;font-weight:600}
.history-subtabs{flex-wrap:wrap}
.history-subtabs>button[data-subtab="appointments"]{min-width:145px}
.history-appointment-card .history-status-badge{align-self:center;justify-self:end;min-width:74px;text-align:center;padding:3px 7px;border-radius:10px;background:#f2f2f4;color:#666;font-size:10px;text-transform:uppercase}
.technical-fields label:first-child textarea{min-height:54px}
.collab-choice-row{width:100%;min-height:45px;display:grid;grid-template-columns:28px 1fr;align-items:center;text-align:left;padding:0 18px;border:0;border-bottom:1px solid #eee;background:#fff;color:#31313a;font-size:14px}
.collab-choice-row:hover{background:#fff7fa}
.collab-radio{position:relative;width:18px;height:18px;border-radius:50%;border:2px solid #a9a9ae;background:#fff}
.collab-choice-row.selected .collab-radio{border-color:var(--pink)}
.report-detail,.report-base{background:#f7f7f8}
.report-general{background:#fff}
.report-table thead th{background:#c00045!important;color:#fff!important;border-color:#a5003c!important}
.report-table .category-row td{background:#f3ead7!important;border-color:#ded4c4!important}
.report-table .service-row-report td{background:#faf5e9!important}
.report-table .compare{display:block;margin-top:2px;font-size:10px;font-weight:600;white-space:nowrap}
.report-table .compare.up,.report-general .compare.up,.report-client-count .compare.up{color:#199b55}
.report-table .compare.down,.report-general .compare.down,.report-client-count .compare.down{color:#d52b36}
.report-client-count strong{display:flex;align-items:center;gap:9px;justify-content:flex-end}
.report-client-filters select{min-width:118px}
.report-comparison-line{background:#fff7fa!important}
.payment-collapsible{color:#c00045;font-weight:600}
@media(max-width:760px){.client-duplicate-mode{max-width:none;margin:0 8px 6px}.history-subtabs>button[data-subtab="appointments"]{min-width:120px;font-size:11px}.report-client-filters{grid-template-columns:1fr 1fr}.report-client-filters .salon-search{grid-column:1/-1}}

/* =============================================================
   v0.6.13 — Clienti eliminati/counter + calendario Fiche + lock
   ============================================================= */
/* Clienti: il counter vive in basso a sinistra, separato dalle righe. */
#view-clients.active-view{display:flex!important;flex-direction:column;height:100%;min-height:0;overflow:hidden}
#view-clients #clientsList{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;border-top:1px solid #e2e2e2}
#view-clients #clientsCount{position:static!important;bottom:auto!important;left:auto!important;flex:0 0 40px;width:100%;height:40px;margin-top:auto;padding:0 14px;display:flex;align-items:center;justify-content:flex-start;background:#fff;border-top:1px solid #d7d7db;box-shadow:0 -3px 9px rgba(0,0,0,.05);z-index:8}
#view-clients .deleted-client-row{background:#fbfbfc}
#view-clients .client-restore-btn{font-size:27px!important;font-weight:500;color:var(--pink)!important}
#view-clients .empty-client-message{padding:24px 16px;color:#777}

/* Fiche: il calendario e' un vero input data trasparente sopra il pulsante.
   L'intera zona icona + data e' cliccabile e consente qualsiasi giorno. */
.fiche-header-date-wrap{position:relative;width:104px;min-width:104px;height:100%;display:flex;align-items:center;justify-content:center}
.fiche-header-date-wrap .fiche-date-button{width:100%!important;min-width:100%!important;pointer-events:none}
.fiche-header-date-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;margin:0;z-index:6;color-scheme:light}
.fiche-header-date-native::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.fiche-header-date-wrap:focus-within{background:#fff5f8}

/* Lucchetto Fiche: stessa icona vettoriale della lista anche a totale €0. */
.payment-state-lock{display:grid!important;place-items:center!important;color:#7e7e7e!important;background:transparent!important;border:0!important;padding:1px!important}
.payment-state-lock.open{color:#7e7e7e!important}
.payment-state-lock.closed{color:var(--pink)!important}
.payment-state-lock .lock-vector{width:25px;height:29px;display:block;overflow:visible;color:inherit}
.payment-state-lock>.lock-body,.payment-state-lock>.lock-shackle{display:none!important}
.lock-vector .lock-v-open-tip{fill:none!important;stroke:currentColor!important}

@media(max-width:520px){
  .fiche-header-date-wrap{width:94px;min-width:94px}
}


/* ===== v0.6.14 REPORT PARITY — SalonApp Business ===== */
.reports-view{background:#fff}
.report-gate{min-height:100%;background-color:#fff;background-image:linear-gradient(130deg,rgba(225,225,225,.25) 0 1px,transparent 1px),linear-gradient(45deg,rgba(232,232,232,.18) 0 1px,transparent 1px);background-size:64px 64px;display:grid;place-items:start center;padding-top:34px}
.report-gate-card{width:min(790px,92%);padding-top:0;text-align:center}
.report-gate-logo{width:74px;height:74px;margin:0 auto 35px}
.report-gate-card p{font-size:13px;line-height:1.15;margin:0 0 18px;color:#222}
.report-gate-card h3{font-size:14px;line-height:1.08;color:var(--pink);font-weight:400;margin:0 0 24px}
.report-gate-card label{display:block;text-align:left;color:var(--pink);font-size:12px;margin:0}
.report-gate-card input[type=password]{height:38px;background:#eef5ff;border:0;box-shadow:0 4px 10px rgba(0,0,0,.16);margin:6px 0 20px}
.report-gate-card .salon-primary{height:34px;margin:0;font-size:13px}

.report-base{background:#fff}
.report-menu-row{height:84px;min-height:84px;padding:0 16px;gap:16px;border-bottom:1px solid #d1d1d1;background:#fff}
.report-menu-row:hover{background:#fff}
.report-menu-row>div:last-child{gap:8px}
.report-menu-row b{font-size:17px;font-weight:400;color:#262938;letter-spacing:1.1px}
.report-menu-row span{font-size:13px;color:#666b77;letter-spacing:1px}
.report-menu-row.report-disabled{opacity:1;cursor:default}
.report-menu-row.report-disabled:after{display:none}

.report-detail{background:#fff}
.report-daily-filters{padding:10px 16px 14px;background:#fff;border-bottom:1px solid #ddd;display:grid;grid-template-columns:1fr 1fr 1fr;column-gap:26px;row-gap:9px}
.report-daily-filters.hidden{display:none}
.report-daily-filters .report-search{grid-column:1/-1;margin:0}
.report-daily-filters label{color:var(--pink);font-size:12px}
.report-daily-filters select{display:block;width:100%;height:35px;border:0;border-bottom:1px solid #ddd;background:#fff;color:#292929;font-size:15px}
.report-detail-strip{height:58px;grid-template-columns:50px 1fr 50px;background:#fff;border-bottom:1px solid #d5d5d5;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.report-detail-strip strong{font-size:18px;font-weight:400;color:#282828}
.round-arrow{width:34px;height:34px;background:#c00045;font-size:23px}
.round-arrow.pale{background:#c95b83}

.report-general{padding:27px 16px 12px;background:#fff}
.general-title{height:32px;background:#c00045;border-radius:3px;padding:6px;color:#fff;text-align:center;font-weight:600}
.general-title span{float:right;padding-right:7px}
.general-line{min-height:45px;height:auto;grid-template-columns:1fr 110px;border-bottom:1px solid #ddd}
.general-line span{text-align:right;padding-right:22px}
.general-line strong{min-height:31px;height:auto;background:#c00045;color:#fff;font-weight:400;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 5px}
.general-line strong .compare{color:#fff!important;font-size:11px;font-style:italic}
.payment-collapsible{width:100%;border:0;border-bottom:1px solid #eee;background:#fff;color:#c00045;text-align:center;padding:14px 0;font-weight:600}
.payment-collapsible span{float:right;padding-right:8px}
.payment-list{grid-template-columns:1fr 110px}
.payment-list.hidden{display:none}
.payment-list span,.payment-list b{padding:7px 10px}
.payment-list b{background:#c00045;color:#fff;text-align:center}

.report-table-wrap{padding:0 16px 24px;background:#fff}
.report-table{font-size:14px}
.report-table th{background:#c00045!important;color:#fff!important;border:1px solid #fff!important;padding:8px 7px}
.report-table td{border:1px solid #bbb;padding:5px 8px}
.report-table .category-row td{background:#efe4cf!important}
.report-table .service-row-report td{background:#fff!important}
.report-table .client-row-report td{background:#f2f2f2!important}
.report-table .compare{font-size:10px;line-height:1.05}
.report-table .compare.up{color:#15974d}
.report-table .compare.down{color:#d32032}

.report-client-count{display:grid;grid-template-columns:1fr 230px;padding:11px 16px;align-items:center;border-bottom:1px solid #ddd}
.report-client-count b{text-align:right;padding-right:17px;font-size:15px}
.report-client-count strong{background:#c00045;color:#fff;padding:7px;text-align:center;font-weight:400}
.report-client-count strong .compare{display:inline;margin-left:8px}
.client-segment-badge{background:#d6d6d6;border:1px solid #bcbcbc;border-radius:8px;padding:2px 9px;margin-left:8px;color:#444}
.client-segment-summary td{background:#dedede!important}
.report-client-table th:first-child{width:68%}

.report-filter-glyph{width:22px;height:22px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.report-filter-glyph i{height:1.5px;background:currentColor;display:block;position:relative}
.report-filter-glyph i:nth-child(1):after{content:"";position:absolute;width:4px;height:4px;border:1.5px solid currentColor;border-radius:50%;right:4px;top:-2.5px;background:#fff}
.report-filter-glyph i:nth-child(2):after{content:"";position:absolute;width:4px;height:4px;border:1.5px solid currentColor;border-radius:50%;left:5px;top:-2.5px;background:#fff}
.report-filter-glyph i:nth-child(3):after{content:"";position:absolute;width:4px;height:4px;border:1.5px solid currentColor;border-radius:50%;right:7px;top:-2.5px;background:#fff}
.report-send-glyph{display:block;width:20px;height:14px;border:2px solid currentColor;border-radius:2px;position:relative}
.report-send-glyph:after,.report-send-glyph:before{content:"";position:absolute;top:2px;width:11px;height:2px;background:currentColor}
.report-send-glyph:before{left:0;transform:rotate(30deg)}
.report-send-glyph:after{right:0;transform:rotate(-30deg)}
.report-context-icon{color:var(--pink)!important}

.report-period-dialog{width:min(520px,94vw)}
.report-period-head h3{color:var(--pink);font-weight:400}
.report-period-body{padding:18px}
.report-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.report-period-body label{display:flex;flex-direction:column;gap:5px;color:var(--pink);font-size:12px;margin:9px 0}
.report-period-body input,.report-period-body select{height:38px;border:1px solid #ddd;border-radius:4px;background:#fff;padding:0 9px;color:#333}

.year-context{display:flex;align-items:center;gap:5px;color:var(--pink);font-size:11px}
.year-context select{border:0;background:transparent;color:#222;font-size:16px;min-width:66px}
.report-period-controls{display:none!important}
.report-comparison-line{display:none!important}

@media(max-width:760px){
  .report-daily-filters{grid-template-columns:1fr 1fr;column-gap:14px}
  .report-daily-filters label:last-child{grid-column:1/-1}
  .report-client-count{grid-template-columns:1fr 150px}
  .report-menu-row{height:78px;min-height:78px;padding:0 9px;gap:9px}
  .report-menu-row b{font-size:15px}
  .report-menu-row span{font-size:11px}
  .report-menu-icon{width:54px;min-width:54px}
}


/* ===== v0.6.15 HOME NERA + LOGO CENTRATO ===== */
.salon-home{
  background:#000 !important;
  position:relative;
  overflow:hidden;
}
.topbar.home-mode{
  background:#000 !important;
  border-bottom:1px solid #111 !important;
  box-shadow:none !important;
}
.topbar.home-mode .top-home,
.topbar.home-mode .top-icon,
.topbar.home-mode .top-title,
.topbar.home-mode .top-context,
.topbar.home-mode .top-context *{
  color:#f5f5f5 !important;
}
.topbar.home-mode .top-title{
  opacity:.95;
}
.content.home-mode{
  background:#000 !important;
}
.content.home-mode + .bottom-nav{
  background:#000 !important;
  border-top:1px solid #111 !important;
}
.content.home-mode + .bottom-nav button{
  background:#000 !important;
  color:#8d8d8d !important;
}
.content.home-mode + .bottom-nav button.active{
  color:#fff !important;
}
.content.home-mode #view-home{
  background:#000 !important;
}
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 5vw !important;
  pointer-events:none !important;
}
.home-official-logo{
  display:block;
  width:min(980px,82vw) !important;
  max-width:92% !important;
  height:auto !important;
  max-height:min(46vh,420px) !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:drop-shadow(0 0 22px rgba(255,255,255,.05)) !important;
}
.home-welcome,
.home-calendar-fab{
  display:none !important;
}
.version-label{
  right:14px !important;
  bottom:8px !important;
  color:#6b6b6b !important;
  font-size:11px !important;
}
@media (max-width: 760px){
  .home-logo-zone{padding:0 4vw 6px !important;}
  .home-official-logo{
    width:min(96vw,920px) !important;
    max-width:96% !important;
    max-height:min(34vh,250px) !important;
  }
  .version-label{bottom:6px !important; right:10px !important;}
}
@media (min-width: 1200px){
  .home-official-logo{
    width:min(1100px,74vw) !important;
    max-height:min(48vh,470px) !important;
  }
}


/* ===== v0.6.16 TEMA CHIARO/SCURO + HOME GM ===== */
.top-actions{gap:2px}
#themeToggleBtn{font-size:22px}
.home-gm-panel{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:3;text-align:center;padding:14px 18px 10px;border-radius:18px;background:rgba(0,0,0,.42);backdrop-filter:blur(3px);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.home-gm-title{color:#fff;font-size:18px;letter-spacing:.03em;text-transform:uppercase}.home-gm-title strong{color:#ffd54d;font-weight:600}.home-gm-logo{display:block;width:min(245px,32vw);max-width:245px;height:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}.home-gm-name{color:#f7f7f7;font-size:16px;letter-spacing:.04em}.version-label{left:50% !important;right:auto !important;transform:translateX(-50%);bottom:8px !important;color:#7f7f7f !important;font-size:11px !important}.home-calendar-fab{display:none !important}
.theme-settings-card{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;margin:8px 12px 12px;padding:14px 16px;border:1px solid #e2d2d9;border-radius:14px;background:#fff6fa;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.theme-settings-copy{display:flex;flex-direction:column;gap:4px}.theme-settings-copy b{color:var(--pink);font-weight:600}.theme-settings-copy small{color:#666}.theme-choice-group{display:flex;gap:8px}.theme-choice-group button{border:1px solid #d2b5c2;background:#fff;color:#555;padding:8px 14px;border-radius:999px}.theme-choice-group button.active{background:var(--pink);color:#fff;border-color:var(--pink)}.theme-current-badge{font-size:13px;color:#666}
body.theme-dark{background:#0c0c0e;color:#f1f1f3}body.theme-dark #toast{background:#18181c;color:#fff}body.theme-dark .app,body.theme-dark .content,body.theme-dark .salon-screen,body.theme-dark .settings-view,body.theme-dark .salon-paper-page,body.theme-dark .view{background:#101014;color:#f1f1f3}body.theme-dark .topbar,body.theme-dark .bottom-nav,body.theme-dark .admin-menu,body.theme-dark .sos-menu,body.theme-dark .count-footer,body.theme-dark .salon-list-row,body.theme-dark .salon-paper,body.theme-dark .salon-modal-form,body.theme-dark dialog,body.theme-dark .settings-list-row,body.theme-dark .report-gate-card,body.theme-dark .theme-settings-card,body.theme-dark .agenda-date-strip{background:#15151a;color:#f1f1f3;border-color:#2a2a31}body.theme-dark .topbar{box-shadow:0 2px 10px rgba(0,0,0,.35)}body.theme-dark .top-title,body.theme-dark .top-home,body.theme-dark .top-icon,body.theme-dark .salon-primary,body.theme-dark .count-footer,body.theme-dark .settings-subhead h3{color:#f3f3f6}body.theme-dark .salon-search,body.theme-dark .salon-filter-row button,body.theme-dark input,body.theme-dark select,body.theme-dark textarea,body.theme-dark .profile-single input,body.theme-dark .profile-single select,body.theme-dark .cash-profile input,body.theme-dark .cash-profile select,body.theme-dark .week-times input,body.theme-dark .report-gate-card input{background:#1b1b21;color:#f7f7f8;border-color:#363643;box-shadow:none}body.theme-dark .salon-search input{background:transparent}body.theme-dark .salon-search span,body.theme-dark .client-row-actions .gray-action{color:#bbb}body.theme-dark .salon-filter-row{border-bottom-color:#2c2c34;background:#111}body.theme-dark .salon-filter-row button{color:#d7d7dc;border-color:#464652;background:#191920}body.theme-dark .salon-filter-row button.active,body.theme-dark .theme-choice-group button.active{background:#d91655;color:#fff;border-color:#d91655}body.theme-dark .client-main b,body.theme-dark .fiche-main b,body.theme-dark .row-main b{color:#fff}body.theme-dark .client-main span,body.theme-dark .fiche-main span,body.theme-dark .row-main small,body.theme-dark .theme-settings-copy small,body.theme-dark .theme-current-badge{color:#c1c1ca}body.theme-dark .salon-list{border-top-color:#2b2b33}body.theme-dark .salon-list-row{border-bottom-color:#2d2d36}body.theme-dark .round-client-icon,body.theme-dark .pink-box{border-color:#f04c86;color:#f04c86}body.theme-dark .settings-tabs button,body.theme-dark .salon-tabs button,body.theme-dark .profile-tabs button,body.theme-dark .admin-menu button,body.theme-dark .sos-menu button,body.theme-dark .bottom-nav button{background:#15151a;color:#d8d8de;border-color:#2a2a31}body.theme-dark .bottom-nav button.active{color:#fff}body.theme-dark .salon-dialog::backdrop{background:rgba(0,0,0,.75)}body.theme-dark .home-gm-panel{background:rgba(17,17,20,.7)}body.theme-dark .theme-settings-card{border-color:#2f2f39;background:#17171c}body.theme-dark .theme-choice-group button{background:#1e1e24;color:#f2f2f4;border-color:#3a3a46}body.theme-dark .report-gate{background:#0f0f13;background-image:none}body.theme-dark .agenda-header,body.theme-dark .agenda-cell,body.theme-dark .agenda-time{background:#121217;color:#e5e5ea;border-color:#2a2a34}body.theme-dark .agenda-time.hour,body.theme-dark .agenda-cell.hour{border-bottom-color:#333845}body.theme-dark .appointment-block{box-shadow:0 1px 4px rgba(0,0,0,.4)}
body.theme-light .salon-home{background:#f4f4f4 !important}body.theme-light .topbar.home-mode{background:#111 !important;border-bottom:1px solid #222 !important}body.theme-light .content.home-mode,body.theme-light .content.home-mode + .bottom-nav,body.theme-light .content.home-mode #view-home{background:#111 !important}body.theme-light .home-gm-panel{background:rgba(0,0,0,.42)}
@media (max-width:760px){.home-gm-panel{width:min(92vw,360px);bottom:28px;padding:12px 14px 9px}.home-gm-title{font-size:15px}.home-gm-logo{width:min(210px,58vw)}.home-gm-name{font-size:14px}.theme-settings-card{grid-template-columns:1fr;justify-items:start}.theme-current-badge{justify-self:start}}


/* ===== v0.6.17 SALONAPP ICON PARITY ===== */
/* REPORT BASE: use PNGs captured from the original SalonApp UI instead of rebuilt CSS shapes. */
.report-menu-row{min-height:96px!important;height:96px!important;padding:0 17px!important;gap:16px!important}
.report-menu-icon{width:82px!important;min-width:82px!important;height:82px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;margin:0!important;color:inherit!important}
.report-menu-icon:before,.report-menu-icon:after,.report-menu-icon i{display:none!important;content:none!important}
.report-menu-icon img{display:block!important;max-width:80px!important;max-height:80px!important;width:auto!important;height:auto!important;object-fit:contain!important;image-rendering:auto!important}
.report-menu-row:nth-child(2) .report-menu-icon img{max-width:76px!important;max-height:76px!important}
.report-menu-row b{font-size:18px!important;font-weight:400!important;color:#262938!important;letter-spacing:1px!important}
.report-menu-row span{font-size:13px!important;color:#666b77!important;letter-spacing:.8px!important}
body.theme-dark .report-menu-row b{color:#f4f4f5!important}
body.theme-dark .report-menu-row span{color:#b8b8c0!important}

/* FICHES: 4 header icons same visual size/spacing as the original. */
.fiche-header>.fiche-header-actions{gap:0!important;padding-right:10px!important}
.fiche-header .fiche-header-png,.fiche-header .fiche-date-button{width:42px!important;min-width:42px!important;height:52px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important}
.fiche-header .fiche-header-png img{display:block!important;width:auto!important;height:auto!important;max-width:28px!important;max-height:28px!important;object-fit:contain!important;image-rendering:auto!important}
.fiche-header #ficheClientHeaderBtn img{max-width:23px!important;max-height:29px!important}
.fiche-header #ficheDateBtn img{max-width:22px!important;max-height:22px!important}
.fiche-header #ficheTechnicalHeaderBtn img{max-width:23px!important;max-height:23px!important}
.fiche-header #ficheSaveBtn img{max-width:23px!important;max-height:23px!important}
.fiche-header .fiche-date-button small{display:none!important}
.fiche-header-date-wrap{width:42px!important;min-width:42px!important;height:52px!important;display:block!important;position:relative!important}
.fiche-header-date-wrap .fiche-date-button{width:42px!important;min-width:42px!important;height:52px!important;pointer-events:none!important}
.fiche-header-date-native{position:absolute!important;inset:0!important;width:42px!important;height:52px!important;opacity:0!important;cursor:pointer!important;z-index:8!important}
body.theme-dark .fiche-header .fiche-header-png{background:transparent!important}

/* Main Fiche list icon, locks, technical/client icons. */
.salon-fiche-icon{width:62px!important;height:62px!important;border:0!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
.salon-fiche-icon:before,.salon-fiche-icon:after,.salon-fiche-icon svg{display:none!important}
.salon-fiche-icon img{display:block!important;width:60px!important;height:60px!important;object-fit:contain!important}
.fiche-row-actions{gap:8px!important;align-items:center!important}
.fiche-row-actions button{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.fiche-row-actions .lock-png{width:auto!important;height:25px!important;max-width:21px!important;object-fit:contain!important}
.fiche-technical-card img{width:23px!important;height:23px!important;object-fit:contain!important}
.fiche-client-card{width:28px!important;height:34px!important;background:transparent!important;border:0!important;margin-right:2px!important}
.fiche-client-card:before,.fiche-client-card:after{display:none!important;content:none!important}
.fiche-client-card img{width:22px!important;height:28px!important;object-fit:contain!important}

/* Exact original swipe-delete icon. */
.fiche-slide-delete{width:82px!important;background:#efd6b0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important}
.fiche-slide-delete .trash-icon{display:none!important}
.fiche-slide-delete img{display:block!important;width:30px!important;height:38px!important;object-fit:contain!important}

/* Period calendar and global lock. */
.calendar-outline-png{display:block;width:22px;height:22px;object-fit:contain;margin-right:4px}
.calendar-outline-icon{display:none!important}
.period-calendar-btn{display:flex!important;align-items:center!important;gap:6px!important}
.global-lock-btn .lock-body,.global-lock-btn .lock-shackle{display:none!important}
.global-lock-btn{background:url('/static/icons/lock-closed-salonapp.png?v=0.6.42') center/19px 25px no-repeat!important;border:0!important}
.payment-state-lock .lock-vector{display:none!important}
.payment-state-lock .lock-png{display:block!important;width:27px!important;height:30px!important;object-fit:contain!important}

/* Collaborator indicators inside Fiche services. */
.picker-person{border:0!important;background:transparent!important;padding:0!important;width:35px!important;height:35px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.picker-person:before,.picker-person:after{display:none!important;content:none!important}
.picker-person img{display:block!important;width:35px!important;height:35px!important;object-fit:contain!important}
.picker-service.already-selected .picker-person img{content:url('/static/icons/collaborator-on-salonapp.png?v=0.6.42');width:28px!important;height:28px!important}
.fiche-item-collab .mini-person{display:none!important}
.mini-person-png{display:block!important;width:28px!important;height:28px!important;object-fit:contain!important;margin-right:4px!important}

/* Generic edit/delete actions: no placeholder square; use real SalonApp-style PNG. */
.client-edit-actions button.salon-edit-btn,.client-edit-actions button.salon-trash-btn,.header-trash.salon-trash-btn{font-size:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
.salon-edit-btn img{display:block!important;width:23px!important;height:23px!important;object-fit:contain!important}
.salon-trash-btn img{display:block!important;width:36px!important;height:36px!important;object-fit:contain!important}
.header-trash.salon-trash-btn{width:42px!important;height:42px!important;background:transparent!important;border:0!important}
.header-trash.salon-trash-btn img{width:30px!important;height:30px!important}

@media(max-width:760px){
  .report-menu-row{min-height:84px!important;height:84px!important;padding:0 10px!important;gap:10px!important}
  .report-menu-icon{width:68px!important;min-width:68px!important;height:68px!important}
  .report-menu-icon img{max-width:66px!important;max-height:66px!important}
  .fiche-header .fiche-header-png,.fiche-header .fiche-date-button,.fiche-header-date-wrap{width:38px!important;min-width:38px!important;height:50px!important}
  .fiche-header-date-native{width:38px!important;height:50px!important}
  .fiche-header .fiche-header-png img{max-width:25px!important;max-height:25px!important}
}


/* ===== v0.6.18 FICHES SALONAPP + MOBILE/TABLET DEEP PASS ===== */
html,body{max-width:100vw;overflow-x:hidden}
button,[role="button"],input,select,textarea{-webkit-tap-highlight-color:transparent}
button,[role="button"]{touch-action:manipulation}
.content{overscroll-behavior:contain}

/* Lista Fiches: allineamento osservato nell'originale SalonApp. */
.fiche-row{min-width:0!important;overflow:hidden!important;cursor:pointer!important}
.salon-fiche-icon{flex:0 0 58px!important;width:58px!important;height:58px!important;margin-right:0!important}
.salon-fiche-icon .fiche-list-png{display:block!important;width:56px!important;height:56px!important;object-fit:contain!important}
.fiche-row .fiche-main{flex:1 1 auto!important;min-width:0!important;align-items:flex-start!important;justify-content:center!important;gap:1px!important}
.fiche-row .fiche-main b{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.fiche-date-line{display:block!important;white-space:nowrap!important}
.fiche-price{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:54px!important;min-height:24px!important;margin-top:3px!important;padding:3px 9px!important;background:#3c91d1!important;color:#fff!important;border-radius:4px!important;line-height:1!important;font-weight:400!important;box-shadow:none!important}
.fiche-row-actions{flex:0 0 auto!important;margin-left:auto!important;align-self:stretch!important;display:flex!important;align-items:center!important;justify-content:flex-end!important}
.fiche-row-actions button{min-width:34px!important;min-height:42px!important}
.fiche-slide-content{touch-action:pan-y!important;will-change:transform}
.fiche-slide.revealed .fiche-slide-content{transform:translateX(-82px)}

/* Il + Fiche e tutte le azioni principali devono rimanere cliccabili su touch. */
#contextAddBtn,.top-home,.top-icon,.bottom-nav button,.period-calendar-btn,.global-lock-btn{min-width:44px;min-height:44px}

/* Responsive generale: niente contenuti tagliati, tabelle/griglie scorrono dentro la loro area. */
.report-table-wrap,.agenda-grid-wrap,.settings-tabs,.profile-tabs,.salon-filter-row,.history-tabs,.history-subtabs{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.report-table-wrap{overflow-x:auto!important;max-width:100vw}
.report-table{min-width:560px}
.agenda-grid-wrap{overflow:auto!important;touch-action:pan-x pan-y}
.salon-list-row{max-width:100%;min-width:0}
.client-main,.fiche-main,.row-main{min-width:0}

@media(max-width:760px){
  :root{--top:58px;--footer:60px}
  .topbar{grid-template-columns:44px minmax(82px,1fr) minmax(0,42vw) auto!important}
  .top-title{font-size:15px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .top-context{display:flex!important;gap:4px!important;max-width:42vw;overflow-x:auto;overflow-y:hidden;margin-right:2px!important;scrollbar-width:none;white-space:nowrap}
  .top-context::-webkit-scrollbar{display:none}
  .top-context .year-context{font-size:10px;gap:2px}.top-context .year-context select{font-size:13px;min-width:52px}
  .top-context .top-icon{min-width:38px!important;width:38px!important}
  .top-actions .top-icon{min-width:40px!important;width:40px!important}
  .content{overflow-x:hidden!important;overflow-y:auto!important}
  .bottom-nav{height:var(--footer)}
  .bottom-nav button{min-width:0!important;min-height:var(--footer);font-size:10px!important}
  .bottom-nav button span{font-size:21px!important}

  /* Fiches lista mobile: icona a sinistra, testo e badge azzurro sempre visibili. */
  #view-fiches{height:100%!important;min-height:0!important}
  #view-fiches .fiche-toolbar{flex:0 0 48px!important;min-height:48px!important}
  .fiche-period-summary{flex:0 0 44px!important;min-height:44px!important}
  .fiche-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .fiche-row{height:84px!important;min-height:84px!important;padding:6px 8px!important;gap:8px!important}
  .fiche-slide{min-height:84px!important}
  .salon-fiche-icon{flex-basis:52px!important;width:52px!important;height:52px!important}
  .salon-fiche-icon .fiche-list-png{width:50px!important;height:50px!important}
  .fiche-row .fiche-main{height:auto!important;gap:1px!important}
  .fiche-row .fiche-main b{font-size:14px!important;line-height:1.18!important}
  .fiche-date-line{font-size:10px!important}
  .fiche-price{font-size:12px!important;min-width:48px!important;min-height:21px!important;padding:3px 8px!important}
  .fiche-row-actions{gap:2px!important;padding-right:0!important}
  .fiche-row-actions button{width:30px!important;min-width:30px!important;height:42px!important;min-height:42px!important}
  .fiche-row-actions .lock-png{max-width:18px!important;height:23px!important}
  .fiche-technical-card img{width:20px!important;height:20px!important}
  .fiche-client-card img{width:19px!important;height:25px!important}
  .fiche-totals-bar{flex:0 0 44px!important;height:44px!important;font-size:11px!important;padding:0 8px!important;gap:6px!important}
  .fiche-footer-metric{gap:4px!important;min-width:0!important}
  .fiche-footer-metric em{display:none!important}

  /* Editor Fiche: una sola colonna realmente scorrevole. Prima la parte servizi,
     poi i pagamenti; nessuna sezione resta fuori dal viewport del telefono. */
  .fiche-route-dialog[open]{
    position:fixed!important;inset:0 0 var(--footer) 0!important;
    width:100vw!important;max-width:100vw!important;
    height:calc(100dvh - var(--footer))!important;max-height:calc(100dvh - var(--footer))!important;
    margin:0!important;border-radius:0!important;overflow:hidden!important;
  }
  .fiche-route-dialog .fiche-form{height:100%!important;max-height:none!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
  .fiche-header{flex:0 0 56px!important;height:56px!important;grid-template-columns:42px minmax(70px,1fr) auto!important;padding:0 3px!important}
  .fiche-header h3{font-size:16px!important;padding-left:2px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fiche-header>.fiche-header-actions{position:static!important;right:auto!important;gap:0!important;padding-right:0!important;min-width:0!important}
  .fiche-header .fiche-header-png,.fiche-header .fiche-date-button,.fiche-header-date-wrap{width:34px!important;min-width:34px!important;height:52px!important}
  .fiche-header-date-native{width:34px!important;height:52px!important}
  .fiche-header .fiche-header-png img{max-width:22px!important;max-height:22px!important}
  .fiche-header #ficheClientHeaderBtn img{max-width:19px!important;max-height:24px!important}
  .fiche-header #ficheDateBtn img{max-width:20px!important;max-height:20px!important}
  .fiche-header #ficheTechnicalHeaderBtn img{max-width:20px!important;max-height:20px!important}
  .fiche-header #ficheSaveBtn img{max-width:20px!important;max-height:20px!important}
  .fiche-layout{flex:1 1 auto!important;height:auto!important;min-height:0!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
  .fiche-left{height:auto!important;min-height:0!important;overflow:visible!important;border-right:0!important;display:flex!important;flex-direction:column!important}
  .fiche-left>.salon-search{flex:0 0 44px!important;position:sticky!important;top:0!important;z-index:8!important;background:var(--paper)!important;margin:5px 8px!important}
  .fiche-section-title{font-size:15px!important;padding:10px 12px!important}
  .fiche-items{flex:none!important;max-height:none!important;overflow:visible!important}
  .fiche-item-row{grid-template-columns:minmax(0,1fr) 96px 34px 68px!important;min-height:52px!important;padding:0 5px!important;font-size:12px!important}
  .fiche-item-collab{font-size:11px!important;min-width:0!important;overflow:hidden!important}
  .fiche-item-collab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fiche-service-picker{flex:none!important;min-height:90px!important;max-height:none!important;overflow:visible!important}
  .picker-header{position:sticky;top:44px;z-index:6;padding:9px 11px!important}
  .picker-service{grid-template-columns:minmax(0,1fr) 42px 62px!important;min-height:52px!important;padding:0 8px!important;gap:2px!important}
  .picker-service .picker-price{font-size:11px!important;padding:4px!important}
  .fiche-client-bottom{position:sticky!important;bottom:0!important;z-index:9!important;flex:0 0 48px!important;height:48px!important;background:var(--paper)!important;border-top:1px solid var(--line)!important}
  .fiche-client-suggestions{max-height:46dvh!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  .payment-box{height:auto!important;min-height:0!important;padding:0 12px 0!important;overflow:visible!important;border-top:8px solid #f3f3f4!important}
  .payment-title{height:48px!important}
  .payment-lines{max-height:none!important;overflow:visible!important}
  .pay-line input,.payment-box input,.payment-box select{min-height:42px!important}
  .fiscal-buttons button,.advanced-pay,.salon-danger{min-height:44px!important}
  .payment-bottom-total{position:sticky!important;left:auto!important;right:auto!important;bottom:0!important;z-index:12!important;height:52px!important;margin:10px -12px 0!important;background:var(--paper)!important;border-top:1px solid var(--line)!important;padding:0 12px!important}

  /* Clienti / Report / Impostazioni: touch target e overflow sicuri. */
  .client-row{padding-left:8px!important;padding-right:8px!important;gap:8px!important}
  .client-row-actions{gap:2px 4px!important}.client-row-actions button{min-width:34px!important;min-height:34px!important}
  .client-edit-actions{right:4px!important}.client-edit-actions button{min-width:44px!important;min-height:44px!important}
  .report-menu-row{height:auto!important;min-height:82px!important}.report-menu-row>div:last-child{min-width:0!important}.report-menu-row b{font-size:14px!important}.report-menu-row span{font-size:10px!important;white-space:normal!important}
  .report-daily-filters{grid-template-columns:1fr!important;padding:8px!important}.report-daily-filters .report-search{grid-column:auto!important}
  .report-client-count{grid-template-columns:1fr 110px!important;padding:8px!important}
  .settings-tabs,.profile-tabs{display:flex!important;overflow-x:auto!important;white-space:nowrap!important}.settings-tabs button,.profile-tabs button{flex:0 0 122px!important;min-height:44px!important}
  .salon-dialog:not(.fiche-route-dialog){width:min(100vw,760px)!important;max-width:100vw!important;max-height:calc(100dvh - 12px)!important}
  .salon-modal-form{max-height:calc(100dvh - 12px)!important;-webkit-overflow-scrolling:touch!important}
  .two-cols,.phone-combo,.client-stats,.policy-row{grid-template-columns:1fr!important}
}

@media(max-width:430px){
  .topbar{grid-template-columns:40px minmax(72px,1fr) minmax(0,34vw) auto!important}
  .top-context{max-width:34vw!important}.top-actions .top-icon{min-width:36px!important;width:36px!important}
  .fiche-row{gap:5px!important;padding-left:5px!important;padding-right:4px!important}
  .salon-fiche-icon{flex-basis:46px!important;width:46px!important;height:46px!important}.salon-fiche-icon .fiche-list-png{width:44px!important;height:44px!important}
  .fiche-row .fiche-main b{font-size:13px!important}.fiche-date-line{font-size:9px!important}.fiche-price{font-size:11px!important;min-width:44px!important}
  .fiche-row-actions button{width:27px!important;min-width:27px!important}.fiche-row-actions{gap:0!important}
  .fiche-header{grid-template-columns:38px minmax(54px,1fr) auto!important}.fiche-header h3{font-size:14px!important}
  .fiche-header .fiche-header-png,.fiche-header .fiche-date-button,.fiche-header-date-wrap{width:31px!important;min-width:31px!important}.fiche-header-date-native{width:31px!important}
  .fiche-item-row{grid-template-columns:minmax(0,1fr) 78px 30px 58px!important;font-size:11px!important}
}

/* Tema scuro: le superfici mobile della Fiche seguono il tema senza perdere contrasto. */
body.theme-dark .fiche-left>.salon-search,body.theme-dark .fiche-client-bottom,body.theme-dark .payment-bottom-total{background:#15151a!important;border-color:#2a2a31!important}
body.theme-dark .payment-box{border-top-color:#0d0d10!important}


/* ===== v0.6.20 FICHE HEADER ACTIONS — DEEP CLICK/TOUCH FIX ===== */
.fiche-header>.fiche-header-actions{position:relative!important;z-index:40!important;isolation:isolate!important;pointer-events:auto!important}
.fiche-header .fiche-action-button{position:relative!important;z-index:20!important;pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;-webkit-tap-highlight-color:rgba(190,0,62,.12)!important}
.fiche-header #ficheTechnicalHeaderBtn,.fiche-header #ficheSaveBtn{min-width:44px!important;width:44px!important;height:52px!important;overflow:visible!important}
.fiche-header #ficheTechnicalHeaderBtn img,.fiche-header #ficheSaveBtn img{pointer-events:none!important;user-select:none!important;-webkit-user-drag:none!important}
.fiche-header #ficheSaveBtn:disabled{opacity:.48!important;cursor:wait!important}
.fiche-header #ficheSaveBtn.is-saving{animation:fiche-save-pulse .8s ease-in-out infinite alternate}
@keyframes fiche-save-pulse{from{opacity:.48}to{opacity:1}}
.fiche-header-date-wrap{z-index:5!important}
.fiche-header-date-native{z-index:6!important;pointer-events:auto!important}
#technicalModal[open]{z-index:130!important}
#technicalModal .salon-modal-head{z-index:132!important}
#technicalModal #technicalSaveBtn{pointer-events:auto!important;touch-action:manipulation!important;min-width:44px!important;min-height:44px!important}
@media(max-width:760px){
  .fiche-header #ficheTechnicalHeaderBtn,.fiche-header #ficheSaveBtn{min-width:38px!important;width:38px!important;height:52px!important}
  .fiche-header>.fiche-header-actions{z-index:50!important}
  #technicalModal{width:100vw!important;max-width:100vw!important;max-height:100dvh!important;margin:0!important}
  #technicalModal .salon-modal-form{max-height:100dvh!important;height:100dvh!important}
}


/* ===== v0.6.21 FICHE X + COLLABORATORE PARITY SALONAPP ===== */
/* Riga servizio originale: nome sopra, collaboratore piccolo sotto, X, prezzo. */
.fiche-item-row{
  grid-template-columns:minmax(0,1fr) 34px 68px!important;
  min-height:50px!important;
  padding:0 8px 0 14px!important;
  column-gap:4px!important;
}
.fiche-item-service-meta{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  line-height:1.05!important;
  overflow:hidden!important;
}
.fiche-item-service-name{
  display:block!important;
  width:100%!important;
  color:#252532!important;
  font-size:15px!important;
  font-weight:400!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.fiche-item-collab-inline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:3px!important;
  min-width:0!important;
  max-width:100%!important;
  height:17px!important;
  margin:2px 0 0 10px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#666872!important;
  font-family:inherit!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
  cursor:pointer!important;
}
.fiche-item-collab-inline:hover,.fiche-item-collab-inline:focus-visible{color:var(--pink)!important;outline:none!important}
.fiche-collab-dash{flex:0 0 auto!important;color:inherit!important;font-size:11px!important}
.fiche-collab-name{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11.5px!important;font-weight:400!important}
/* Il vecchio bottone collaboratore con PNG non deve più alterare il font della riga. */
.fiche-item-collab,.fiche-item-collab .mini-person-png{display:none!important}

/* X servizio e X rimozione cliente: PNG ricavati dal riferimento SalonApp originale. */
.fiche-x-png-btn{font-size:0!important;line-height:0!important;padding:0!important;border:0!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important}
.fiche-x-png-btn img{display:block!important;width:20px!important;height:20px!important;object-fit:contain!important;pointer-events:none!important;user-select:none!important}
.fiche-item-remove.fiche-x-png-btn{width:34px!important;height:48px!important;color:transparent!important}
.fiche-item-remove.fiche-x-png-btn img{width:18px!important;height:18px!important}
.fiche-client-clear.fiche-x-png-btn{width:30px!important;height:42px!important;align-self:center!important}
.fiche-client-clear.fiche-x-png-btn img{width:18px!important;height:18px!important}

/* Picker collaboratore: nomi coerenti e mai sovradimensionati. */
.collab-choice-row{font-size:13px!important;font-weight:400!important;line-height:1.2!important}
.collab-choice-row span:not(.collab-radio){font-size:13px!important;font-weight:400!important;text-transform:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

body.theme-dark .fiche-item-service-name{color:#f4f4f6!important}
body.theme-dark .fiche-item-collab-inline{color:#bdbdc6!important}
body.theme-dark .fiche-item-collab-inline:hover,body.theme-dark .fiche-item-collab-inline:focus-visible{color:#f04c86!important}

@media(max-width:760px){
  .fiche-item-row{grid-template-columns:minmax(0,1fr) 32px 64px!important;min-height:50px!important;padding:0 6px 0 10px!important}
  .fiche-item-service-name{font-size:13px!important}
  .fiche-item-collab-inline{font-size:10.5px!important;height:16px!important;margin-left:7px!important}
  .fiche-collab-name,.fiche-collab-dash{font-size:10.5px!important}
  .fiche-item-remove.fiche-x-png-btn{width:32px!important;height:48px!important}
  .fiche-item-remove.fiche-x-png-btn img{width:17px!important;height:17px!important}
}
@media(max-width:420px){
  .fiche-item-row{grid-template-columns:minmax(0,1fr) 28px 58px!important;padding-left:8px!important;column-gap:2px!important}
  .fiche-item-service-name{font-size:12.5px!important}
  .fiche-item-collab-inline{font-size:10px!important;margin-left:5px!important;max-width:calc(100% - 3px)!important}
  .fiche-collab-name,.fiche-collab-dash{font-size:10px!important}
  .fiche-item-remove.fiche-x-png-btn{width:28px!important}
  .fiche-item-remove.fiche-x-png-btn img{width:16px!important;height:16px!important}
}

/* =====================================================================
   v0.6.22 — SALONAPP REFERENCE + THEME DEEP CONSISTENCY
   Reference geometry: supplied original Fiches screenshot 1086x916.
   ===================================================================== */
:root{
  --top:39px!important;
  --footer:56px!important;
  --pink:#cf0049;
  --pink2:#d91655;
  --ink:#252a42;
  --muted:#70737e;
  --line:#c7c7cc;
  --paper:#fff;
  --gray:#f5f5f6;
}
html,body,button,input,select,textarea{font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif!important}
button,[role="button"]{touch-action:manipulation;-webkit-tap-highlight-color:rgba(207,0,73,.10)}
button img,[role="button"] img{pointer-events:none;-webkit-user-drag:none;user-select:none}

/* Header geometry from original SalonApp reference. */
.topbar{height:39px!important;grid-template-columns:52px minmax(0,1fr) auto auto!important;box-shadow:none!important;border-bottom:0!important}
.top-home,.top-icon{height:39px!important;min-width:39px!important;width:39px!important;padding:0!important}
.top-title{font-size:18px!important;font-weight:400!important;line-height:39px!important;letter-spacing:0!important}
.top-actions{height:39px!important;gap:0!important}
#topLeftBtn,#contextAddBtn{font-size:0!important;position:relative!important;color:var(--pink)!important}
#topLeftBtn:before,#contextAddBtn:before{content:"";display:block;margin:auto;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
#topLeftBtn:before{width:27px;height:29px;-webkit-mask-image:url('/static/icons/top-home-salonapp-transparent-hq.png?v=0.6.42');mask-image:url('/static/icons/top-home-salonapp-transparent-hq.png?v=0.6.42')}
#contextAddBtn:before{width:25px;height:25px;-webkit-mask-image:url('/static/icons/top-plus-salonapp-transparent-hq.png?v=0.6.42');mask-image:url('/static/icons/top-plus-salonapp-transparent-hq.png?v=0.6.42')}

/* Bottom navigation uses silhouettes extracted from the original screenshot and currentColor. */
.bottom-nav{height:56px!important;border-top:1px solid #e5e5e7!important}
.bottom-nav button{font-size:12px!important;letter-spacing:.04em!important;gap:3px!important}
.bottom-nav button span{font-size:0!important;width:30px!important;height:27px!important;display:block!important;background:currentColor!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-position:center!important;mask-position:center!important;-webkit-mask-size:contain!important;mask-size:contain!important}
.bottom-nav button:nth-child(1) span{-webkit-mask-image:url('/static/icons/nav-agenda-salonapp-transparent-hq.png?v=0.6.42');mask-image:url('/static/icons/nav-agenda-salonapp-transparent-hq.png?v=0.6.42')}
.bottom-nav button:nth-child(2) span{-webkit-mask-image:url('/static/icons/nav-clients-salonapp-transparent-hq.png?v=0.6.42');mask-image:url('/static/icons/nav-clients-salonapp-transparent-hq.png?v=0.6.42')}
.bottom-nav button:nth-child(3) span{-webkit-mask-image:url('/static/icons/nav-fiches-salonapp-transparent-hq.png?v=0.6.42');mask-image:url('/static/icons/nav-fiches-salonapp-transparent-hq.png?v=0.6.42')}
.bottom-nav button:nth-child(4) span{-webkit-mask-image:url('/static/icons/nav-reports-salonapp-transparent-hq.png?v=0.6.42');mask-image:url('/static/icons/nav-reports-salonapp-transparent-hq.png?v=0.6.42')}
.bottom-nav button.active{color:var(--pink)!important}

/* FICHES LIGHT MODE — spatial hierarchy of supplied SalonApp screenshot. */
#view-fiches{background:#fff!important}
#view-fiches .fiche-toolbar{flex:0 0 37px!important;height:37px!important;padding:0 10px 0 8px!important;border:0!important;background:#fff!important}
#view-fiches .fiche-toolbar .salon-search{height:36px!important;margin:0 8px!important;border:1px solid #c8c8cc!important;border-radius:10px!important;background:#f6f6f7!important;padding:0 13px!important;gap:11px!important}
#view-fiches .fiche-toolbar .salon-search input{font-size:16px!important;color:#40434d!important}
#view-fiches .search-lens{width:13px!important;height:13px!important;border-width:1.6px!important}
#view-fiches .fiche-toolbar-person{width:29px!important;min-width:29px!important;height:36px!important;margin:0!important;font-size:0!important;color:#8b8b8d!important}
#view-fiches .toolbar-client-card{width:27px!important;height:35px!important;background:currentColor!important;border-radius:0!important;-webkit-mask:url('/static/icons/toolbar-client-salonapp-transparent-hq.png?v=0.6.42') center/contain no-repeat!important;mask:url('/static/icons/toolbar-client-salonapp-transparent-hq.png?v=0.6.42') center/contain no-repeat!important}
#view-fiches .toolbar-client-card:before,#view-fiches .toolbar-client-card:after{display:none!important}
#view-fiches .fiche-period-summary{flex:0 0 50px!important;height:50px!important;padding:0 10px!important;border-top:0!important;border-bottom:1px solid #d7d7da!important;background:#fff!important;font-size:16px!important;color:var(--pink)!important}
#view-fiches .fiche-period-actions{gap:17px!important}
#view-fiches .period-calendar-btn,#view-fiches .global-lock-btn{height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important}
#view-fiches .period-calendar-btn{width:38px!important}
#view-fiches .calendar-outline-png{max-width:23px!important;max-height:23px!important}
#view-fiches .global-lock-btn{width:31px!important;background-size:18px 24px!important}
#view-fiches .fiche-list{border:0!important;background:#fff!important}
#view-fiches .fiche-slide{min-height:95px!important;background:#d6bc95!important}
#view-fiches .fiche-slide-content{background:#fff!important}
#view-fiches .fiche-row{height:95px!important;min-height:95px!important;padding:8px 13px 8px 16px!important;gap:15px!important;border-bottom:1px solid #c7c7cc!important;background:#fff!important}
#view-fiches .salon-fiche-icon{width:61px!important;height:61px!important;flex:0 0 61px!important}
#view-fiches .salon-fiche-icon img{width:60px!important;height:60px!important}
#view-fiches .fiche-row .fiche-main{height:74px!important;justify-content:center!important;gap:1px!important}
#view-fiches .fiche-row .fiche-main b{font-size:18px!important;line-height:1.15!important;font-weight:400!important;color:#222b48!important;letter-spacing:.01em!important}
#view-fiches .fiche-date-line{font-size:12px!important;line-height:1.15!important;color:#4f5665!important;font-weight:300!important}
#view-fiches .fiche-price{background:#3d90d1!important;color:#fff!important;border-radius:5px!important;padding:4px 12px!important;margin-top:3px!important;font-size:15px!important;line-height:1.2!important}
#view-fiches .fiche-row-actions{margin-left:auto!important;gap:7px!important;padding-right:0!important;align-items:center!important}
#view-fiches .fiche-row-actions button{min-width:27px!important;width:27px!important;height:39px!important;padding:0!important}
#view-fiches .fiche-row-actions .lock-png{height:25px!important;max-width:20px!important}
#view-fiches .fiche-client-card{width:27px!important;height:34px!important;margin-right:0!important}
#view-fiches .fiche-totals-bar{flex:0 0 39px!important;height:39px!important;min-height:39px!important;padding:0 20px!important;border-top:1px solid #e4e4e6!important;background:#fff!important;font-size:14px!important}
#view-fiches .mini-calendar-icon,#view-fiches .mini-list-icon{font-size:0!important;width:27px!important;height:24px!important;background:var(--pink)!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-position:center!important;mask-position:center!important;-webkit-mask-size:contain!important;mask-size:contain!important;border:0!important}
#view-fiches .mini-calendar-icon{-webkit-mask-image:url('/static/icons/footer-calendar-salonapp-transparent-hq.png?v=0.6.42')!important;mask-image:url('/static/icons/footer-calendar-salonapp-transparent-hq.png?v=0.6.42')!important}
#view-fiches .mini-list-icon{-webkit-mask-image:url('/static/icons/footer-list-salonapp-transparent-hq.png?v=0.6.42')!important;mask-image:url('/static/icons/footer-list-salonapp-transparent-hq.png?v=0.6.42')!important}
#view-fiches .mini-calendar-icon:before,#view-fiches .mini-calendar-icon:after{display:none!important}
#view-fiches .fiche-footer-metric em{display:none!important}

/* Theme selector lives in Settings only. */
#themeToggleBtn{display:none!important}
.theme-settings-card{border-radius:8px!important;box-shadow:none!important}
.theme-choice-group button{min-width:88px!important;min-height:38px!important}

/* DARK MODE: complete neutral-surface pass. */
body.theme-dark{
  --theme-bg:#0f1013;
  --theme-surface:#16171c;
  --theme-surface2:#1b1c22;
  --theme-line:#2e3038;
  --theme-text:#f1f2f5;
  --theme-muted:#b8bbc5;
  background:var(--theme-bg)!important;color:var(--theme-text)!important;
}
body.theme-dark .app,body.theme-dark .content,body.theme-dark .view:not(#view-home):not(#view-services),body.theme-dark .salon-screen:not(#view-services),body.theme-dark .reports-view,body.theme-dark .settings-view,body.theme-dark .migration-view{background:var(--theme-bg)!important;color:var(--theme-text)!important}
body.theme-dark .topbar,body.theme-dark .bottom-nav,body.theme-dark .admin-menu,body.theme-dark .sos-menu{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:var(--theme-text)!important}
body.theme-dark .top-title,body.theme-dark .top-home,body.theme-dark .top-icon{color:#f04c86!important}
body.theme-dark .bottom-nav button,body.theme-dark .admin-menu button,body.theme-dark .sos-menu button{background:var(--theme-surface)!important;color:#aeb0b8!important;border-color:var(--theme-line)!important}
body.theme-dark .bottom-nav button.active{color:#f04c86!important}
body.theme-dark .salon-search,body.theme-dark .gallery-advanced,body.theme-dark .client-advanced-panel{background:var(--theme-surface2)!important;border-color:#3a3c45!important;color:var(--theme-text)!important}
body.theme-dark .salon-search input,body.theme-dark input:not([type=color]),body.theme-dark select,body.theme-dark textarea{background:#1c1d23!important;color:var(--theme-text)!important;border-color:#3b3d46!important;box-shadow:none!important}
body.theme-dark input::placeholder,body.theme-dark textarea::placeholder{color:#858993!important}
body.theme-dark .salon-list,body.theme-dark .salon-list-row,body.theme-dark .client-row,body.theme-dark .collaborator-row{background:var(--theme-surface)!important;border-color:var(--theme-line)!important}
body.theme-dark .client-main b,body.theme-dark .fiche-main b,body.theme-dark .row-main b{color:var(--theme-text)!important}
body.theme-dark .client-main span,body.theme-dark .row-main small,body.theme-dark .availability-line{color:var(--theme-muted)!important}
body.theme-dark .count-footer{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:#f04c86!important}
body.theme-dark .salon-filter-row{background:var(--theme-bg)!important;border-color:var(--theme-line)!important}
body.theme-dark .salon-filter-row button{background:var(--theme-surface2)!important;color:#d9dae0!important;border-color:#454852!important}
body.theme-dark .salon-filter-row button.active{background:#cf0049!important;color:white!important;border-color:#cf0049!important}

/* Fiches dark shell. Badge/icons preserve semantic colors. */
body.theme-dark #view-fiches{background:var(--theme-bg)!important}
body.theme-dark #view-fiches .fiche-toolbar,body.theme-dark #view-fiches .fiche-period-summary,body.theme-dark #view-fiches .fiche-totals-bar{background:var(--theme-surface)!important;border-color:var(--theme-line)!important}
body.theme-dark #view-fiches .fiche-toolbar .salon-search{background:#202127!important;border-color:#454751!important}
body.theme-dark #view-fiches .fiche-slide-content,body.theme-dark #view-fiches .fiche-row{background:var(--theme-surface)!important;border-color:var(--theme-line)!important}
body.theme-dark #view-fiches .fiche-row .fiche-main b{color:#f4f5f7!important}
body.theme-dark #view-fiches .fiche-date-line{color:#b8bbc5!important}
body.theme-dark #view-fiches .fiche-price{background:#3d90d1!important;color:white!important}
body.theme-dark .fiche-lock-popover,body.theme-dark .fiche-lock-popover button{background:var(--theme-surface2)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}

/* Fiche editor: chrome/payment follow dark; service/catalog areas intentionally stay original light. */
body.theme-dark .fiche-route-dialog,body.theme-dark .fiche-route-dialog .fiche-form,body.theme-dark .fiche-header,body.theme-dark .fiche-left,body.theme-dark .payment-box,body.theme-dark .payment-title,body.theme-dark .fiche-client-bottom,body.theme-dark .payment-bottom-total{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
body.theme-dark .fiche-header h3,body.theme-dark .fiche-header button,body.theme-dark .payment-bottom-total{color:#f04c86!important}
body.theme-dark .payment-totals>div{background:#1b1c22!important;border-color:#353741!important;color:var(--theme-text)!important}
body.theme-dark .balance-row{color:#55c77a!important}
/* Fixed-light service islands: service rows must NOT be recolored by dark theme. */
body.theme-dark .fiche-items,body.theme-dark .fiche-items .fiche-item-row,body.theme-dark .fiche-service-picker,body.theme-dark .fiche-service-picker .picker-toggle,body.theme-dark .fiche-service-picker .picker-header,body.theme-dark .fiche-service-picker .picker-service,body.theme-dark .appointment-service-picker,body.theme-dark .appointment-service-picker .picker-service{background:#fff!important;color:#252532!important;border-color:#ddd!important;color-scheme:light!important}
body.theme-dark .fiche-item-service-name{color:#252532!important}
body.theme-dark .fiche-item-collab-inline,body.theme-dark .fiche-collab-name,body.theme-dark .fiche-collab-dash{color:#666872!important}
body.theme-dark .picker-service>span:first-child,body.theme-dark .picker-header,body.theme-dark .picker-toggle{color:#252532!important}
body.theme-dark .picker-price,body.theme-dark .item-price-button{color:#fff!important}

/* LISTINO/SERVIZI is a faithful fixed-light page in either app theme. */
body.theme-dark #view-services{background:#fff!important;color:#30303a!important;color-scheme:light!important}
body.theme-dark #view-services .salon-search,body.theme-dark #view-services .salon-tabs,body.theme-dark #view-services .service-group-block,body.theme-dark #view-services .service-group-title,body.theme-dark #view-services .service-row,body.theme-dark #view-services .salon-simple-list,body.theme-dark #view-services .count-footer{background:#fff!important;color:#30303a!important;border-color:#d7d7db!important}
body.theme-dark #view-services input,body.theme-dark #view-services select{background:#fff!important;color:#30303a!important;border-color:#c8c8cc!important;box-shadow:none!important}
body.theme-dark #view-services .salon-tabs button{background:#fff!important;color:#4f5364!important;border-color:#ddd!important}
body.theme-dark #view-services .salon-tabs button.active{color:#cf0049!important;border-bottom-color:#cf0049!important}
body.theme-dark #view-services .price-badge{background:#cf0049!important;color:#fff!important}
body.theme-dark #serviceModal,body.theme-dark #serviceModal .salon-modal-form,body.theme-dark #serviceModal .salon-paper{background:#fff!important;color:#30303a!important;color-scheme:light!important}
body.theme-dark #serviceModal input,body.theme-dark #serviceModal select,body.theme-dark #serviceModal textarea{background:#fff!important;color:#30303a!important;border-color:#ddd!important;box-shadow:0 4px 11px rgba(0,0,0,.11)!important}
body.theme-dark[data-active-view="services"] .topbar,body.theme-dark[data-active-view="services"] .bottom-nav{background:#fff!important;border-color:#e4e4e4!important}
body.theme-dark[data-active-view="services"] .top-title,body.theme-dark[data-active-view="services"] .top-home,body.theme-dark[data-active-view="services"] .top-icon{color:#cf0049!important}
body.theme-dark[data-active-view="services"] .bottom-nav button{background:#fff!important;color:#8b8b8b!important}
body.theme-dark[data-active-view="services"] .bottom-nav button.active{color:#cf0049!important}

/* Agenda / report / settings / general dialogs. */
body.theme-dark .agenda-date-strip,body.theme-dark .agenda-header,body.theme-dark .agenda-cell,body.theme-dark .agenda-time{background:var(--theme-surface)!important;color:var(--theme-muted)!important;border-color:var(--theme-line)!important}
body.theme-dark .strip-arrow,body.theme-dark .agenda-calendar-btn{background:var(--theme-surface)!important}
body.theme-dark .agenda-day.current,body.theme-dark .agenda-day.selected{color:#f04c86!important}
body.theme-dark .report-menu-row,body.theme-dark .report-detail-strip,body.theme-dark .report-general,body.theme-dark .report-table-wrap,body.theme-dark .report-client-count{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
body.theme-dark .report-menu-row b,body.theme-dark .report-detail-strip strong{color:var(--theme-text)!important}
body.theme-dark .report-menu-row span{color:var(--theme-muted)!important}
body.theme-dark .report-table .category-row td{background:#efe4cf!important;color:#252532!important}
body.theme-dark .report-table .service-row-report td{background:#fff!important;color:#252532!important}
body.theme-dark .report-table .client-row-report td{background:#f2f2f2!important;color:#252532!important}
body.theme-dark .settings-tabs,body.theme-dark .settings-tabs button,body.theme-dark .settings-subhead,body.theme-dark .settings-subhead button,body.theme-dark .settings-content,body.theme-dark .settings-list-row,body.theme-dark .theme-settings-card{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
body.theme-dark .settings-tabs button.active{color:#f04c86!important;border-bottom-color:#f04c86!important}
body.theme-dark dialog:not(#serviceModal),body.theme-dark dialog:not(#serviceModal) .salon-modal-form,body.theme-dark dialog:not(#serviceModal) .salon-paper{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}
body.theme-dark .salon-modal-head,body.theme-dark .profile-tabs,body.theme-dark .profile-tabs button{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-line)!important}

/* Light theme is the faithful SalonApp reference baseline. */
body.theme-light{background:#fff!important;color:#30303a!important}
body.theme-light .app,body.theme-light .content{background:#fff!important}
body.theme-light .topbar,body.theme-light .bottom-nav{background:#fff!important}
body.theme-light #view-fiches .fiche-row .fiche-main b{color:#222b48!important}

/* Mobile: keep touch targets larger without destroying desktop reference geometry. */
@media(max-width:760px){
  :root{--top:48px!important;--footer:60px!important}
  .topbar{height:48px!important;grid-template-columns:46px minmax(0,1fr) auto!important}
  .top-home,.top-icon{height:48px!important;min-width:44px!important;width:44px!important}
  .top-title{font-size:16px!important;line-height:48px!important}
  .bottom-nav{height:60px!important}
  .bottom-nav button{min-height:60px!important}
  #view-fiches .fiche-toolbar{height:43px!important;flex-basis:43px!important;padding-left:5px!important;padding-right:5px!important}
  #view-fiches .fiche-toolbar .salon-search{height:40px!important;margin:1px 5px!important}
  #view-fiches .fiche-period-summary{height:48px!important;flex-basis:48px!important}
  #view-fiches .fiche-row{padding-left:7px!important;padding-right:5px!important;gap:7px!important}
  #view-fiches .salon-fiche-icon{width:51px!important;height:51px!important;flex-basis:51px!important}
  #view-fiches .salon-fiche-icon img{width:50px!important;height:50px!important}
  #view-fiches .fiche-row .fiche-main b{font-size:14px!important}
  #view-fiches .fiche-date-line{font-size:10px!important}
  #view-fiches .fiche-price{font-size:12px!important;padding:4px 8px!important}
  #view-fiches .fiche-row-actions{gap:1px!important}
  #view-fiches .fiche-row-actions button{min-width:30px!important;width:30px!important;height:44px!important}
  button:not(.strip-arrow):not(.fiche-slide-delete){min-height:40px}
}
@media(max-width:430px){
  #view-fiches .fiche-row .fiche-main b{font-size:12.5px!important}
  #view-fiches .fiche-row-actions button{min-width:27px!important;width:27px!important}
  #view-fiches .fiche-client-card{width:25px!important;height:31px!important}
}

/* v0.6.22 back-arrow state for shared top-left control */
#topLeftBtn.is-back{font-size:24px!important;color:var(--pink)!important}
#topLeftBtn.is-back:before{display:none!important}


/* ===== v0.6.23 NATIVE SALONAPP ASSETS — NO CROP / NO MASK / NO REBUILD ===== */
.sos-native-btn{display:grid!important;place-items:center!important;padding:0!important;overflow:visible!important}
.sos-native-btn img{display:block!important;width:36px!important;height:36px!important;object-fit:contain!important;image-rendering:auto!important;background:transparent!important;filter:none!important}
.fiche-toolbar-person{display:grid!important;place-items:center!important;width:34px!important;height:38px!important;background:transparent!important}
.toolbar-client-native{display:block!important;width:32px!important;height:32px!important;object-fit:contain!important;image-rendering:auto!important;background:transparent!important;filter:none!important}
#view-fiches .toolbar-client-card{display:none!important}
.report-menu-icon{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.report-menu-icon img{display:block!important;width:auto!important;height:auto!important;max-width:72px!important;max-height:72px!important;object-fit:contain!important;image-rendering:auto!important;background:transparent!important;filter:none!important;transform:none!important}
.report-menu-row:nth-child(2) .report-menu-icon img{max-width:72px!important;max-height:72px!important}
.fiche-header-png img,.fiche-technical-card img,.fiche-client-card img,.picker-person img{image-rendering:auto!important;background:transparent!important;filter:none!important;object-fit:contain!important}
.fiche-header-png img{max-width:40px!important;max-height:40px!important}
#ficheTechnicalHeaderImg{width:40px!important;height:40px!important}
.fiche-client-card img{width:32px!important;height:32px!important}
.picker-person img{width:32px!important;height:32px!important}
.picker-service.already-selected .picker-person img{content:url('/static/native-salonapp/Collaboratore-On.png?v=0.6.42')!important;width:32px!important;height:32px!important}
body.theme-dark .sos-native-btn img,body.theme-dark .toolbar-client-native,body.theme-dark .report-menu-icon img,body.theme-dark .fiche-header-png img,body.theme-dark .fiche-technical-card img,body.theme-dark .fiche-client-card img,body.theme-dark .picker-person img{filter:none!important;background:transparent!important}
@media(max-width:760px){
  .report-menu-icon img{max-width:62px!important;max-height:62px!important}
  .sos-native-btn img{width:32px!important;height:32px!important}
  .toolbar-client-native{width:29px!important;height:29px!important}
  #ficheTechnicalHeaderImg{width:36px!important;height:36px!important}
}


/* ===== v0.6.24 FICHE + SCHEDA TECNICA DEEP ACTION FIX ===== */
/* La matita/Scheda Tecnica deve sempre accettare testo su desktop e touch. */
#technicalModal[open]{pointer-events:auto!important;overflow:hidden!important}
#technicalModal .salon-modal-form{display:flex!important;flex-direction:column!important;overflow:hidden!important}
#technicalModal .technical-fields{
  flex:1 1 auto!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  padding:16px!important;
  position:relative!important;
  z-index:1!important;
}
#technicalModal .technical-fields label{display:block!important;pointer-events:auto!important}
#technicalModal .technical-fields textarea{
  display:block!important;
  width:100%!important;
  min-height:88px!important;
  resize:vertical!important;
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
  touch-action:auto!important;
  user-select:text!important;
  -webkit-user-select:text!important;
  cursor:text!important;
  opacity:1!important;
}
#technicalModal .technical-fields label:first-child textarea{min-height:58px!important}
#technicalModal #technicalSaveBtn{
  position:absolute!important;
  right:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:140!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
#technicalModal #technicalSaveBtn.is-saving,
#technicalModal #technicalSaveBtn:disabled{opacity:.48!important;cursor:wait!important}

/* Header Fiche: impedisce al date picker trasparente di invadere Matita/Salva. */
#ficheModal .fiche-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;position:relative!important;z-index:60!important}
#ficheModal .fiche-header-date-wrap{position:relative!important;z-index:5!important;overflow:hidden!important;flex:0 0 auto!important}
#ficheModal .fiche-header-date-native{position:absolute!important;inset:0!important;z-index:6!important;max-width:100%!important;pointer-events:auto!important}
#ficheModal #ficheTechnicalHeaderBtn,
#ficheModal #ficheSaveBtn{
  position:relative!important;
  z-index:80!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  flex:0 0 auto!important;
}
#ficheModal #ficheTechnicalHeaderBtn img,
#ficheModal #ficheSaveBtn img{pointer-events:none!important}
#ficheModal #ficheSaveBtn[aria-busy="true"]{opacity:.5!important}

@media(max-width:760px){
  #technicalModal{height:100dvh!important;max-height:100dvh!important}
  #technicalModal .salon-modal-form{height:100dvh!important;max-height:100dvh!important}
  #technicalModal .technical-fields{padding:12px!important;padding-bottom:max(24px,env(safe-area-inset-bottom))!important}
  #technicalModal .technical-fields textarea{min-height:92px!important;font-size:16px!important}
  #ficheModal #ficheTechnicalHeaderBtn,#ficheModal #ficheSaveBtn{min-width:42px!important;width:42px!important;height:52px!important}
}


/* ===== v0.6.25 REPORT + SAVE PNG FIX ===== */
.save-icon{font-size:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;height:42px!important;padding:0 6px!important}.save-icon img{width:24px!important;height:24px!important;object-fit:contain!important;display:block!important;pointer-events:none!important}.report-awaiting{padding:22px 16px;margin:14px 0;border:1px dashed #dcb2c3;border-radius:10px;color:#9a3d63;background:#fff7fb;text-align:center;font-size:14px}body.theme-dark .report-awaiting{background:#1b1419;border-color:#5b3144;color:#f2bfd3}.report-menu-row span{display:block}


/* ===== v0.6.26 ICON TRANSPARENCY / HQ FIX ===== */
#topLeftBtn,#contextAddBtn,.bottom-nav button span,#view-fiches .toolbar-client-card,#view-fiches .mini-calendar-icon,#view-fiches .mini-list-icon{mask-mode:alpha!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-position:center!important;mask-position:center!important;-webkit-mask-size:contain!important;mask-size:contain!important;background-clip:padding-box!important}
#topLeftBtn,#contextAddBtn{background-color:transparent!important;box-shadow:none!important;border-radius:0!important}
.bottom-nav button,.bottom-nav button span{box-shadow:none!important;border-radius:0!important}
.bottom-nav button span{background-color:currentColor!important}


/* ===== v0.6.27 FICHE EDITOR LAYOUT + SALONAPP BACK FIX ===== */
/*
   Reference geometry: SalonApp desktop/tablet keeps the service side at about 56%
   and the payments side at about 44%. The previous 66/34 split made native form
   controls overflow horizontally and visually cut the payments column.
*/
#ficheModal.fiche-route-dialog[open]{
  width:100vw!important;
  max-width:100vw!important;
  overflow:hidden!important;
}
#ficheModal .fiche-form{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#ficheModal .fiche-layout{
  display:grid!important;
  grid-template-columns:minmax(0,56%) minmax(0,44%)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#ficheModal .fiche-layout>*,
#ficheModal .fiche-left,
#ficheModal .payment-box{
  min-width:0!important;
  max-width:100%!important;
}
#ficheModal .fiche-left{
  width:100%!important;
  overflow:hidden!important;
}
#ficheModal .payment-box{
  width:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable;
}
#ficheModal .payment-title,
#ficheModal .payment-lines,
#ficheModal .payment-totals,
#ficheModal .fiscal-buttons,
#ficheModal .preventivo,
#ficheModal .advanced-pay{
  max-width:100%!important;
  min-width:0!important;
}
#ficheModal .payment-lines{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;
}
#ficheModal .pay-line,
#ficheModal .pay-line label{
  min-width:0!important;
  width:100%!important;
}
#ficheModal .pay-line input,
#ficheModal .payment-box input,
#ficheModal .payment-box select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
#ficheModal .payment-totals>div{
  grid-template-columns:minmax(0,1fr) minmax(105px,42%)!important;
  width:100%!important;
  min-width:0!important;
}
#ficheModal .payment-totals>div>*{min-width:0!important;max-width:100%!important}
#ficheModal .payment-totals .discount-box{
  grid-template-columns:minmax(0,1fr) minmax(82px,31%) 18px!important;
}
#ficheModal .payment-totals .discount-box input{width:100%!important}
#ficheModal .fiscal-buttons{width:100%!important}
#ficheModal .fiscal-buttons button{
  width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.2!important;
}
#ficheModal .payment-bottom-total{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#ficheModal .fiche-client-bottom{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:52px minmax(0,1fr) 34px 28px!important;
}
#ficheModal .fiche-client-search-wrap,
#ficheModal #ficheClientSearch{min-width:0!important;width:100%!important;max-width:100%!important}

/* Header faithful to SalonApp: no Unicode glyph rendering for the back arrow. */
#ficheModal .fiche-header{
  grid-template-columns:55px minmax(0,1fr) auto!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
#ficheModal .fiche-header h3{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#ficheModal .fiche-header-actions{
  position:relative!important;
  right:auto!important;
  height:100%!important;
  min-width:0!important;
  gap:2px!important;
  padding-right:8px!important;
}
#ficheModal .fiche-back-btn{
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  min-width:52px!important;
  height:57px!important;
  padding:0!important;
  font-size:0!important;
  color:var(--pink)!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  position:relative!important;
  z-index:90!important;
  touch-action:manipulation!important;
}
#ficheModal .fiche-back-svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
  overflow:visible!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  pointer-events:none!important;
}
#ficheModal .fiche-header-png,
#ficheModal .fiche-date-button{
  flex:0 0 auto!important;
  min-width:42px!important;
  width:42px!important;
  height:52px!important;
  padding:0!important;
}
#ficheModal .fiche-header-png img{max-width:30px!important;max-height:30px!important}
#ficheModal #ficheTechnicalHeaderImg{width:30px!important;height:30px!important}
#ficheModal #ficheSaveBtn img{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important}
#ficheModal .fiche-header-date-wrap{max-width:50px!important;overflow:hidden!important}
#ficheModal #ficheDateLabel{display:none!important}

/* Avoid the route dialog ever creating a body/page horizontal scrollbar. */
html.fiche-editor-open,html.fiche-editor-open body{overflow:hidden!important;max-width:100vw!important}
html.fiche-editor-open .content{overflow:hidden!important}

/* A small desktop/tablet adjustment follows the original proportions instead of
   squeezing the payment area. */
@media (min-width:761px) and (max-width:980px){
  #ficheModal .fiche-layout{grid-template-columns:minmax(0,55%) minmax(0,45%)!important}
  #ficheModal .payment-box{padding-left:10px!important;padding-right:10px!important}
  #ficheModal .payment-lines{gap:8px!important}
  #ficheModal .payment-totals>div{grid-template-columns:minmax(0,1fr) minmax(96px,43%)!important}
  #ficheModal .fiche-header-png,#ficheModal .fiche-date-button{min-width:39px!important;width:39px!important}
  #ficheModal .fiche-header-actions{gap:0!important;padding-right:4px!important}
}

/* Mobile remains single-column, but explicitly kills horizontal overflow. */
@media (max-width:760px){
  #ficheModal.fiche-route-dialog[open]{width:100vw!important;max-width:100vw!important}
  #ficheModal .fiche-layout{display:block!important;width:100%!important;overflow-y:auto!important;overflow-x:hidden!important}
  #ficheModal .fiche-left,#ficheModal .payment-box{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  #ficheModal .payment-lines{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #ficheModal .fiche-header{grid-template-columns:46px minmax(0,1fr) auto!important}
  #ficheModal .fiche-back-btn{width:46px!important;min-width:46px!important;height:52px!important}
  #ficheModal .fiche-back-svg{width:23px!important;height:23px!important}
  #ficheModal .fiche-header-png,#ficheModal .fiche-date-button{min-width:36px!important;width:36px!important;height:50px!important}
  #ficheModal .fiche-header-png img{max-width:27px!important;max-height:27px!important}
  #ficheModal #ficheTechnicalHeaderImg{width:27px!important;height:27px!important}
  #ficheModal #ficheSaveBtn img{width:23px!important;height:23px!important}
}


/* ===== v0.6.28 FICHE COLLABORATORE + PICKER + NAV + SALONAPP ORDER ===== */
/* Riga servizio come SalonApp: SERVIZIO | - Collaboratore | X | PREZZO sulla stessa linea. */
#ficheModal .fiche-item-row{
  grid-template-columns:minmax(0,1fr) 32px 70px!important;
  min-height:49px!important;
  padding:0 10px 0 18px!important;
  column-gap:5px!important;
}
#ficheModal .fiche-item-service-meta{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  line-height:1.15!important;
}
#ficheModal .fiche-item-service-name{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  font-size:15px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#ficheModal .fiche-item-collab-inline{
  flex:0 1 auto!important;
  max-width:38%!important;
  height:26px!important;
  margin:0!important;
  padding:0!important;
  gap:4px!important;
  font-size:12.5px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#ficheModal .fiche-collab-dash,#ficheModal .fiche-collab-name{font-size:12.5px!important;line-height:1!important}
#ficheModal .fiche-collab-name{max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

/* Il collaboratore selezionato usa SOLO il PNG nativo: niente quadrato CSS rosso aggiuntivo. */
#ficheModal .picker-service .picker-person,
#ficheModal .picker-service.already-selected .picker-person{
  width:31px!important;height:31px!important;min-width:31px!important;
  padding:0!important;margin:auto!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;outline:0!important;
}
#ficheModal .picker-service .picker-person:before,#ficheModal .picker-service .picker-person:after{display:none!important;content:none!important}
#ficheModal .picker-service .picker-person img{width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important}
#ficheModal .picker-service.already-selected .picker-person img{content:url('/static/native-salonapp/Collaboratore-On.png?v=0.6.42')!important;width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important}

/* La Fiche è una pagina-route, non un modal bloccante: la bottom nav rimane realmente cliccabile. */
#ficheModal.fiche-route-dialog[open]{
  position:fixed!important;z-index:130!important;
  inset:0 0 var(--footer) 0!important;
  width:100vw!important;height:calc(100dvh - var(--footer))!important;
  max-width:100vw!important;max-height:calc(100dvh - var(--footer))!important;
  margin:0!important;padding:0!important;
}
#ficheModal .fiche-form{height:100%!important;max-height:none!important}
#ficheModal .fiche-layout{height:calc(100% - 64px)!important;min-height:0!important}
html.fiche-editor-open .bottom-nav{z-index:145!important;pointer-events:auto!important}
html.fiche-editor-open .bottom-nav button{pointer-events:auto!important;touch-action:manipulation!important}
html.fiche-editor-open .topbar{z-index:100!important}

@media(max-width:760px){
  #ficheModal .fiche-item-row{grid-template-columns:minmax(0,1fr) 28px 60px!important;padding-left:10px!important;column-gap:3px!important}
  #ficheModal .fiche-item-service-meta{gap:6px!important}
  #ficheModal .fiche-item-service-name{font-size:12.5px!important}
  #ficheModal .fiche-item-collab-inline{max-width:42%!important;font-size:10.5px!important}
  #ficheModal .fiche-collab-dash,#ficheModal .fiche-collab-name{font-size:10.5px!important}
  #ficheModal .fiche-collab-name{max-width:92px!important}
  #ficheModal.fiche-route-dialog[open]{height:calc(100dvh - var(--footer))!important;max-height:calc(100dvh - var(--footer))!important}
  #ficheModal .fiche-layout{height:calc(100% - 52px)!important}
}

body[data-active-view]:not([data-active-view="home"]) #sosBtn{display:none!important}
#view-fiches .fiche-period-date{display:none!important}
#view-fiches .fiche-calendar-control{gap:0!important}


/* ===== v0.6.30 COLLABORATOR ORDER + PRICE RESET PARITY ===== */
#ficheModal .fiche-item-row.has-price-reset{
  grid-template-columns:minmax(0,1fr) 29px 32px 70px!important;
}
#ficheModal .fiche-price-reset{
  width:27px!important;height:27px!important;min-width:27px!important;
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;
  display:grid!important;place-items:center!important;color:var(--pink)!important;
}
#ficheModal .fiche-price-reset svg{width:23px!important;height:23px!important;display:block!important;overflow:visible!important}
#ficheModal .fiche-price-reset svg circle{fill:none!important;stroke:currentColor!important;stroke-width:1.6!important}
#ficheModal .fiche-price-reset svg path{fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#ficheModal .item-price-button{
  min-width:58px!important;height:28px!important;border:0!important;border-radius:4px!important;
  padding:3px 8px!important;background:var(--pink)!important;color:#fff!important;
  font-size:14px!important;line-height:1!important;white-space:nowrap!important;
}
#ficheModal .item-price-button.modified-price{background:#d8a20a!important;color:#fff!important}
#dynamicCollabPicker .collab-choice-list{overscroll-behavior:contain!important}
#dynamicCollabPicker .collab-choice-row{min-height:44px!important}
@media(max-width:760px){
  #ficheModal .fiche-item-row.has-price-reset{grid-template-columns:minmax(0,1fr) 25px 27px 60px!important}
  #ficheModal .fiche-price-reset{width:24px!important;height:24px!important;min-width:24px!important}
  #ficheModal .fiche-price-reset svg{width:21px!important;height:21px!important}
}


/* ===== v0.6.31 FICHES CALENDAR ADJACENT + REPORT YEARS ===== */
#view-fiches .fiche-period-actions{gap:4px!important;justify-content:flex-end!important}
#view-fiches .fiche-calendar-control{width:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px!important;height:44px!important}
#view-fiches .fiche-calendar-control .period-calendar-btn{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;padding:0!important;gap:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
#view-fiches .fiche-calendar-control .fiche-period-date{display:none!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important}
#view-fiches .global-lock-btn{flex:0 0 44px!important;margin:0!important}


/* ===== v0.6.32 FICHE PICKER + PAYMENT TYPOGRAPHY + TOGGLE + HEADER ICON PARITY ===== */
/* SalonApp: ogni servizio gia selezionato resta acceso sia sull'icona collaboratore sia sul prezzo. */
#ficheModal .picker-service.already-selected .picker-person,
#ficheModal .picker-service.already-selected .picker-person:hover{
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
#ficheModal .picker-service.already-selected .picker-price{
  background:var(--pink)!important;
  color:#fff!important;
  border-color:var(--pink)!important;
  box-shadow:none!important;
}
#ficheModal .picker-service .picker-price{
  min-width:58px!important;
  height:27px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:3px 7px!important;
  font-size:13px!important;
  line-height:1!important;
  border-radius:4px!important;
}

/* Pagamenti: scala tipografica e spaziatura vicine al riferimento SalonApp. */
#ficheModal .payment-box{font-size:14px!important;line-height:1.18!important}
#ficheModal .payment-title{height:46px!important;gap:14px!important;font-size:14px!important}
#ficheModal .payment-title h3{font-size:17px!important;line-height:1!important;font-weight:400!important}
#ficheModal .pay-line label{font-size:13.5px!important;gap:5px!important}
#ficheModal .pay-line input{height:40px!important;font-size:15px!important;padding:7px 9px!important}
#ficheModal .advanced-pay{margin:14px auto 13px!important;font-size:14.5px!important;line-height:1!important}

/* Preventivo originale: piccolo switch, non barra a tutta larghezza. */
#ficheModal .preventivo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  gap:11px!important;
  margin:8px 0 27px!important;
  padding:0!important;
  font-size:14.5px!important;
  line-height:20px!important;
  color:var(--pink)!important;
}
#ficheModal .preventivo>span{display:none!important}
#ficheModal .preventivo input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  flex:0 0 40px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:#aaa!important;
  box-shadow:none!important;
  position:relative!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
#ficheModal .preventivo input[type="checkbox"]::before{
  content:""!important;
  position:absolute!important;
  left:2px!important;
  top:2px!important;
  width:16px!important;
  height:16px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(0,0,0,.18)!important;
  transition:transform .14s ease!important;
}
#ficheModal .preventivo input[type="checkbox"]:checked{background:var(--pink)!important}
#ficheModal .preventivo input[type="checkbox"]:checked::before{transform:translateX(20px)!important}

/* Se la voce cortesia viene mostrata, deve usare lo stesso switch compatto e mai una barra. */
#ficheModal .switch-line:not(.hidden){display:flex!important;align-items:center!important;gap:10px!important;font-size:14px!important}
#ficheModal .switch-line input[type="checkbox"]{
  appearance:none!important;-webkit-appearance:none!important;
  width:40px!important;min-width:40px!important;max-width:40px!important;height:20px!important;min-height:20px!important;max-height:20px!important;
  flex:0 0 40px!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:#aaa!important;box-shadow:none!important;position:relative!important;
}
#ficheModal .switch-line input[type="checkbox"]::before{content:""!important;position:absolute!important;left:2px!important;top:2px!important;width:16px!important;height:16px!important;border-radius:50%!important;background:#fff!important;transition:transform .14s ease!important}
#ficheModal .switch-line input[type="checkbox"]:checked{background:var(--pink)!important}
#ficheModal .switch-line input[type="checkbox"]:checked::before{transform:translateX(20px)!important}

#ficheModal .payment-totals>div{min-height:50px!important;margin-bottom:9px!important;padding:6px 8px!important;font-size:14.5px!important}
#ficheModal .payment-totals b,#ficheModal .payment-totals span{font-size:14.5px!important;line-height:1.12!important}
#ficheModal .payment-totals strong{font-size:15px!important;line-height:1!important}
#ficheModal .payment-totals input{height:38px!important;font-size:15px!important;padding:7px 8px!important}
#ficheModal .payment-totals i{font-size:14px!important}
#ficheModal .fiscal-buttons{gap:10px!important;margin-top:20px!important}
#ficheModal .fiscal-buttons button{min-height:38px!important;padding:8px 8px!important;font-size:13.5px!important;line-height:1.12!important}
#ficheModal .payment-bottom-total{height:47px!important;font-size:21px!important;gap:13px!important}

/* Header Fiche: calendario, matita e salva con proporzioni uniformi come l'originale. */
#ficheModal .fiche-header-actions{gap:1px!important;padding-right:7px!important;align-items:center!important}
#ficheModal .fiche-header-png,#ficheModal .fiche-date-button,#ficheModal .fiche-header-date-wrap{
  width:40px!important;min-width:40px!important;max-width:40px!important;height:52px!important;flex:0 0 40px!important;
}
#ficheModal .fiche-header-png img{width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;object-fit:contain!important}
#ficheModal #ficheDateBtn img{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}
#ficheModal #ficheTechnicalHeaderImg{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important}
#ficheModal #ficheSaveBtn img{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important}
#ficheModal #ficheClientHeaderBtn img{width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important}

@media(max-width:760px){
  #ficheModal .payment-box{font-size:13px!important}
  #ficheModal .payment-title h3{font-size:16px!important}
  #ficheModal .pay-line label{font-size:12.5px!important}
  #ficheModal .pay-line input{height:38px!important;font-size:14px!important}
  #ficheModal .advanced-pay,#ficheModal .preventivo{font-size:13.5px!important}
  #ficheModal .payment-totals>div,#ficheModal .payment-totals b,#ficheModal .payment-totals span{font-size:13.5px!important}
  #ficheModal .payment-totals strong,#ficheModal .payment-totals input{font-size:14px!important}
  #ficheModal .fiscal-buttons button{font-size:12.5px!important}
  #ficheModal .fiche-header-png,#ficheModal .fiche-date-button,#ficheModal .fiche-header-date-wrap{width:36px!important;min-width:36px!important;max-width:36px!important;flex-basis:36px!important;height:50px!important}
  #ficheModal .fiche-header-png img{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}
  #ficheModal #ficheDateBtn img{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important}
  #ficheModal #ficheTechnicalHeaderImg,#ficheModal #ficheSaveBtn img{width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important}
  #ficheModal .picker-service .picker-price{font-size:12px!important;min-width:56px!important;height:26px!important}
}

/* ===== v0.6.33 COLLABORATORE SELEZIONE DIRETTA ===== */
#dynamicCollabPicker.collab-choice-instant .collab-choice-footer{display:none!important}
#dynamicCollabPicker.collab-choice-instant .collab-choice-list{padding-bottom:8px!important;max-height:66vh!important}
#dynamicCollabPicker.collab-choice-instant .collab-choice-row{touch-action:manipulation!important}


/* ===== v0.6.34 SCHEDA TECNICA: STATO MATITA + DATA RAPIDA ===== */
#technicalModal .technical-note-field{position:relative!important;display:block!important}
#technicalModal .technical-note-field .note-clock{top:27px!important;right:8px!important;width:32px!important;height:32px!important;font-size:20px!important;line-height:1!important;z-index:3!important}
#technicalModal .technical-note-field textarea{padding-right:46px!important;min-height:90px!important}
#technicalModal .technical-note-field .note-clock:focus-visible{outline:2px solid var(--pink)!important;outline-offset:1px!important}
@media(max-width:760px){#technicalModal .technical-note-field .note-clock{width:36px!important;height:36px!important;top:25px!important}#technicalModal .technical-note-field textarea{padding-right:50px!important}}


/* ===== v0.6.35 CLIENT HISTORY / FICHES DETAIL SALONAPP PARITY ===== */
#clientHistoryModal.history-dialog{width:min(970px,98vw)!important;max-width:970px!important;height:min(820px,96vh)!important;max-height:96vh!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#f5f5f5!important}
#clientHistoryModal .history-modal-form{height:100%!important;max-height:none!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;background:#f5f5f5!important}
#clientHistoryModal .history-modal-head{height:40px!important;min-height:40px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 5px!important;background:#fff!important;border-bottom:1px solid #d9d9dc!important;box-shadow:none!important}
#clientHistoryModal .history-modal-head h3{margin:0!important;color:var(--pink)!important;font-size:20px!important;font-weight:400!important;line-height:1!important}
#clientHistoryModal .history-head-actions{margin-left:auto!important;display:flex!important;align-items:center!important;height:100%!important;gap:3px!important}
#clientHistoryModal .history-head-actions button{width:40px!important;height:38px!important;min-width:40px!important;border:0!important;background:transparent!important;color:var(--pink)!important;font-size:23px!important;display:grid!important;place-items:center!important;padding:0!important}
#clientHistoryModal .history-head-actions button:hover{background:#fff4f8!important}
#clientHistoryModal .history-download-icon{font-size:25px!important;line-height:1!important}
#clientHistoryModal .history-tabs{height:33px!important;min-height:33px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;border-bottom:1px solid #d3d3d7!important;background:#eeeeef!important;padding:0!important;gap:0!important}
#clientHistoryModal .history-tabs button{height:31px!important;padding:0!important;border:0!important;border-right:1px solid #d4d4d8!important;background:#eeeeef!important;color:#505468!important;font-size:14px!important;border-radius:0!important}
#clientHistoryModal .history-tabs button.active{background:#fff!important;color:var(--pink)!important;border-bottom:0!important;border-radius:6px!important;box-shadow:0 1px 4px rgba(0,0,0,.10)!important}
#clientHistoryModal .history-subtabs{height:42px!important;min-height:42px!important;display:grid!important;grid-template-columns:1fr 1fr!important;padding:0!important;background:#f1f1f2!important;border-bottom:1px solid #d8d8dc!important;gap:0!important;flex-wrap:nowrap!important}
#clientHistoryModal .history-subtabs>button{height:40px!important;padding:0!important;background:transparent!important;border:0!important;color:#55586b!important;font-size:14px!important;border-radius:0!important}
#clientHistoryModal .history-subtabs>button+button{border-left:1px solid #d4d4d8!important}
#clientHistoryModal .history-subtabs>button.active{background:#fff!important;color:var(--pink)!important;border-bottom:0!important;border-radius:6px!important;box-shadow:0 1px 4px rgba(0,0,0,.09)!important}
#clientHistoryModal .history-search-row{background:#fff!important;padding:10px 4px 9px!important;border-bottom:1px solid #ececef!important}
#clientHistoryModal .history-search-row .salon-search{width:100%!important;max-width:none!important;margin:0!important;min-height:36px!important;height:36px!important;border:1px solid #aeb2bb!important;border-radius:11px!important;background:#fafafa!important}
#clientHistoryModal .history-search-row .salon-search input{font-size:18px!important;color:#767b8c!important;padding-left:2px!important}
#clientHistoryModal .history-content{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px 3px 22px!important;background-color:#f4f4f4!important;background-image:linear-gradient(150deg,rgba(0,0,0,.025) 12%,transparent 12%,transparent 50%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.55) 62%,transparent 62%)!important;background-size:34px 34px!important}
#clientHistoryModal .history-context-summary,#clientHistoryModal .preferred-services-strip{display:none!important}
#clientHistoryModal .history-fiche-card{display:block!important;margin:0 0 10px!important;padding:0 8px!important;background:#fff!important;border:0!important;border-radius:4px!important;box-shadow:0 2px 4px rgba(0,0,0,.28)!important;color:#222!important;overflow:hidden!important}
#clientHistoryModal .history-fiche-head{min-height:73px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:6px 8px!important;border-bottom:1px solid #d6d6d8!important}
#clientHistoryModal .history-date-wrap{display:flex!important;align-items:center!important;gap:17px!important;min-width:0!important}
#clientHistoryModal .history-list-glyph{color:var(--pink)!important;font-size:20px!important;line-height:1!important;width:18px!important;text-align:center!important}
#clientHistoryModal .history-date-wrap strong{font-size:17px!important;font-weight:400!important;white-space:nowrap!important;color:#222!important}
#clientHistoryModal .history-fiche-actions{margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important}
#clientHistoryModal .history-edit-fiche{width:34px!important;height:34px!important;border:0!important;background:transparent!important;color:var(--pink)!important;font-size:27px!important;padding:0!important;line-height:1!important}
#clientHistoryModal .history-price-outline,#clientHistoryModal .history-price-solid{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:69px!important;height:28px!important;padding:0 12px!important;border-radius:12px!important;font-size:13px!important;white-space:nowrap!important}
#clientHistoryModal .history-price-outline{border:1px solid var(--pink)!important;background:#fff!important;color:var(--pink)!important}
#clientHistoryModal .history-price-solid{border:1px solid var(--pink)!important;background:var(--pink)!important;color:#fff!important;font-weight:600!important}
#clientHistoryModal .history-fiche-body{padding:0 12px 7px!important}
#clientHistoryModal .history-fiche-service-row{min-height:60px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:8px 13px!important;border-bottom:1px solid #dddddf!important}
#clientHistoryModal .history-fiche-service-row>div{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important}
#clientHistoryModal .history-fiche-service-row b{font-size:14px!important;font-weight:400!important;color:#28282d!important;white-space:normal!important}
#clientHistoryModal .history-fiche-service-row small{font-size:12px!important;color:#555!important}
#clientHistoryModal .history-fiche-service-row>span{margin-left:auto!important;color:var(--pink)!important;font-size:14px!important;white-space:nowrap!important}
#clientHistoryModal .history-tech-inline{min-height:55px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;border-bottom:1px solid #e0e0e2!important;color:#777!important;font-size:13px!important;white-space:pre-wrap!important}
#clientHistoryModal .history-tech-inline span{min-width:0!important;flex:1!important}
#clientHistoryModal .history-tech-inline button{border:0!important;background:transparent!important;color:#777!important;font-size:16px!important;padding:3px!important}
#clientHistoryModal .history-payments-line{height:43px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:0 12px!important;color:#777!important;font-size:13px!important}
#clientHistoryModal .history-payments-line b{color:var(--pink)!important;font-size:17px!important;font-weight:400!important}
#clientHistoryModal .history-empty-line{padding:20px!important;color:#999!important;font-size:13px!important}
#clientHistoryModal .history-empty{background:#fff!important;margin:10px!important;border-radius:4px!important}
@media(max-width:760px){
  #clientHistoryModal.history-dialog{width:100vw!important;max-width:none!important;height:calc(100vh - var(--footer))!important;max-height:none!important;margin:0!important;inset:0 0 var(--footer) 0!important}
  #clientHistoryModal .history-modal-head h3{font-size:17px!important}
  #clientHistoryModal .history-head-actions button{width:36px!important;min-width:36px!important;font-size:21px!important}
  #clientHistoryModal .history-tabs button,#clientHistoryModal .history-subtabs>button{font-size:12px!important}
  #clientHistoryModal .history-search-row .salon-search input{font-size:15px!important}
  #clientHistoryModal .history-fiche-head{min-height:60px!important}
  #clientHistoryModal .history-date-wrap{gap:10px!important}
  #clientHistoryModal .history-date-wrap strong{font-size:14px!important}
  #clientHistoryModal .history-price-outline,#clientHistoryModal .history-price-solid{min-width:58px!important;height:26px!important;padding:0 8px!important;font-size:12px!important}
  #clientHistoryModal .history-edit-fiche{width:30px!important;font-size:23px!important}
}

#clientHistoryModal button.history-payments-line{width:100%!important;border:0!important;border-top:0!important;background:transparent!important;text-align:left!important;cursor:pointer!important}
#clientHistoryModal .history-payment-detail{padding:0 12px 9px!important;color:#777!important;font-size:12px!important}
#clientHistoryModal .history-payment-detail>div{display:flex!important;justify-content:space-between!important;gap:10px!important;padding:5px 0!important;border-top:1px solid #eeeeef!important}
#clientHistoryModal .history-payment-detail b{font-weight:400!important;color:#555!important}

#clientHistoryModal .history-download-svg,#clientHistoryModal .history-print-svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}


/* ===== v0.6.36 CLIENT HISTORY TECH ROWS + CLIENT NAME COLOR ===== */
#clientHistoryModal .history-tech-inline{
  align-items:flex-start!important;
  padding:7px 12px!important;
  gap:8px!important;
}
#clientHistoryModal .history-tech-grid{
  flex:1 1 auto!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
#clientHistoryModal .history-tech-row{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  padding:2px 0!important;
  min-height:20px!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
#clientHistoryModal .history-tech-row b{
  color:#9a9a9f!important;
  font-weight:400!important;
  white-space:nowrap!important;
}
#clientHistoryModal .history-tech-row span{
  color:#666!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
body.theme-dark #clientHistoryModal .history-tech-row b{color:#a9a9b1!important}
body.theme-dark #clientHistoryModal .history-tech-row span{color:#dedee3!important}
#clientForm #cColor{width:100%!important;min-height:38px!important;padding:3px!important;background:#fff!important;cursor:pointer!important}
@media(max-width:760px){
  #clientHistoryModal .history-tech-row{grid-template-columns:64px minmax(0,1fr)!important;font-size:12px!important}
}


/* v0.6.37 — footer totals parity with SalonApp original */
#view-fiches .fiche-totals-bar{height:41px!important;min-height:41px!important;padding:0 14px!important;background:#fff!important;border-top:1px solid #dedee3!important;display:flex!important;align-items:center!important;justify-content:space-between!important;color:#111!important;font-size:16px!important;font-weight:700!important}
#view-fiches .fiche-footer-metric{display:flex!important;align-items:center!important;gap:8px!important;color:#111!important;font-weight:700!important;min-width:0!important}
#view-fiches .fiche-footer-metric::before,#view-fiches .fiche-footer-metric::after,#view-fiches .fiche-totals-bar>span:first-child:before{display:none!important;content:none!important}
#view-fiches .fiche-footer-metric b{color:#111!important;font-size:16px!important;font-weight:700!important;letter-spacing:0!important}
#view-fiches .fiche-total-separator{display:inline-block!important;border-left:1px solid #9fa3ae!important;padding-left:9px!important;margin-left:2px!important;color:#111!important;font-size:16px!important;font-weight:700!important;line-height:1!important}
#view-fiches .mini-calendar-icon,#view-fiches .mini-list-icon{display:inline-block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;background-color:transparent!important;border:0!important;font-size:0!important;line-height:0!important;image-rendering:auto!important;-webkit-mask:none!important;mask:none!important}
#view-fiches .mini-calendar-icon{background-image:url('/static/icons/footer-calendar-salonapp-transparent-hq.png?v=0.6.42')!important}
#view-fiches .mini-list-icon{background-image:url('/static/icons/footer-list-salonapp-transparent-hq.png?v=0.6.42')!important}
#view-fiches .mini-calendar-icon:before,#view-fiches .mini-calendar-icon:after,#view-fiches .mini-list-icon:before,#view-fiches .mini-list-icon:after{display:none!important;content:none!important}
body.theme-dark #view-fiches .fiche-totals-bar{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:#f3f3f6!important}
body.theme-dark #view-fiches .fiche-footer-metric b,body.theme-dark #view-fiches .fiche-total-separator{color:#f3f3f6!important}


/* ===== v0.6.42 HOME ACTIONS + CLIENT PALETTE/SOURCE/CARDS ===== */
.topbar.home-mode .top-actions{position:absolute!important;right:6px!important;top:0!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;z-index:4!important}
.topbar.home-mode #sosBtn,.topbar.home-mode #adminGearBtn{display:grid!important;place-items:center!important;position:relative!important;left:auto!important;right:auto!important;margin:0!important}
.topbar.home-mode #adminGearBtn{margin-right:2px!important}
.client-color-field{grid-column:1/-1}
.client-color-palette{display:grid;grid-template-columns:repeat(8,32px);gap:8px;align-items:center;padding:8px 0 2px}
.client-color-swatch{width:30px!important;height:30px!important;min-width:30px!important;border:2px solid #fff!important;border-radius:3px!important;background:var(--swatch)!important;box-shadow:0 0 0 1px #c7c7cc!important;padding:0!important}
.client-color-swatch.active{box-shadow:0 0 0 2px var(--pink),0 0 0 4px #fff!important;transform:scale(.96)}
#cSource{width:100%;min-height:40px;border:1px solid #d3d3d8;background:#fff;padding:7px 10px}
#clientCardsPane{max-width:850px!important}
.client-card-help{color:var(--pink);font-size:17px;padding:4px 0 8px;border-bottom:1px solid #e3e3e6}
.client-card-row{min-height:62px!important;padding:7px 8px!important}
.client-card-symbol{width:36px!important;height:36px!important;display:grid!important;place-items:center!important}
.client-card-actions{margin-left:auto;display:flex;gap:5px}
.client-card-actions button{border:0;background:transparent;width:36px;height:36px;padding:5px}
.client-card-actions img{width:25px;height:25px;object-fit:contain}
.inline-card-form{display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(130px,1fr) 44px 44px!important;gap:7px!important;margin-top:10px}
.inline-card-form input{min-width:0}
.inline-card-form button{width:44px!important;min-width:44px!important;height:40px!important}
.client-card-hint{display:block;color:#777;margin-top:8px;line-height:1.3}
@media(max-width:760px){.client-color-palette{grid-template-columns:repeat(5,32px)}.inline-card-form{grid-template-columns:1fr 1fr 42px 42px!important}.topbar.home-mode .top-actions{right:2px!important}}
body.theme-dark #cSource{background:#1b1b21!important;color:#f7f7f8!important;border-color:#363643!important}


/* ===== v0.6.46 HOME BIANCA + FAB AGENDA ===== */
.salon-home{
  background:#efefef !important;
  position:relative;
  overflow:visible !important;
}
.topbar.home-mode{
  background:#ffffff !important;
  border-bottom:1px solid #dcdcdc !important;
  box-shadow:none !important;
}
.topbar.home-mode .top-home,
.topbar.home-mode .top-icon,
.topbar.home-mode .top-title,
.topbar.home-mode .top-context,
.topbar.home-mode .top-context *{
  color:var(--pink) !important;
}
.topbar.home-mode .top-title{
  opacity:1 !important;
}
.content.home-mode{
  background:#efefef !important;
  overflow:visible !important;
}
.content.home-mode + .bottom-nav{
  display:none !important;
}
.content.home-mode #view-home{
  background:#efefef !important;
  overflow:visible !important;
}
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:14px 24px 86px !important;
  pointer-events:none !important;
}
.home-official-logo{
  display:block;
  width:min(980px,82vw) !important;
  max-width:92% !important;
  height:auto !important;
  max-height:min(44vh,370px) !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:none !important;
}
.home-gm-panel{
  position:absolute !important;
  right:18px !important;
  left:auto !important;
  bottom:14px !important;
  transform:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:1px !important;
  z-index:3 !important;
  text-align:right !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.home-gm-title{
  color:#777 !important;
  font-size:16px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.home-gm-title strong{
  color:var(--pink) !important;
  font-weight:400 !important;
}
.home-gm-logo{
  display:none !important;
}
.home-gm-name{
  color:var(--pink) !important;
  font-size:19px !important;
  letter-spacing:0 !important;
}
.home-calendar-fab{
  display:grid !important;
  place-items:center !important;
  position:absolute !important;
  left:50% !important;
  bottom:-23px !important;
  transform:translateX(-50%) !important;
  width:58px !important;
  height:58px !important;
  border-radius:50% !important;
  border:0 !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-size:25px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.18) !important;
  z-index:4 !important;
}
.version-label{
  left:auto !important;
  right:8px !important;
  transform:none !important;
  bottom:-18px !important;
  color:#a0a0a0 !important;
  font-size:11px !important;
}
body.theme-light .salon-home,
body.theme-dark .salon-home{
  background:#efefef !important;
}
body.theme-light .topbar.home-mode,
body.theme-dark .topbar.home-mode{
  background:#ffffff !important;
  border-bottom:1px solid #dcdcdc !important;
}
body.theme-light .content.home-mode,
body.theme-dark .content.home-mode,
body.theme-light .content.home-mode #view-home,
body.theme-dark .content.home-mode #view-home{
  background:#efefef !important;
}
body.theme-light .home-gm-panel,
body.theme-dark .home-gm-panel{
  background:transparent !important;
}
body.theme-dark .topbar.home-mode .top-home,
body.theme-dark .topbar.home-mode .top-icon,
body.theme-dark .topbar.home-mode .top-title,
body.theme-dark .topbar.home-mode .top-context,
body.theme-dark .topbar.home-mode .top-context *{
  color:var(--pink) !important;
}
@media (max-width:760px){
  .home-logo-zone{padding:12px 12px 88px !important;}
  .home-official-logo{
    width:min(96vw,920px) !important;
    max-width:96% !important;
    max-height:min(32vh,220px) !important;
  }
  .home-gm-panel{right:12px !important;bottom:10px !important;}
  .home-gm-title{font-size:14px !important;}
  .home-gm-name{font-size:17px !important;}
  .home-calendar-fab{bottom:-21px !important;}
  .version-label{right:8px !important;bottom:-16px !important;}
}


/* ===== v0.6.47 HOME NERA + FASCIA BIANCA + GM CENTRALE ===== */
.topbar.home-mode{
  background:#ffffff !important;
  border-bottom:1px solid #dedede !important;
  box-shadow:none !important;
}
.topbar.home-mode .top-home,
.topbar.home-mode .top-icon,
.topbar.home-mode .top-title,
.topbar.home-mode .top-context,
.topbar.home-mode .top-context *{
  color:var(--pink) !important;
}

.content.home-mode{
  background:#ffffff !important;
  overflow:visible !important;
}

.content.home-mode + .bottom-nav{
  display:none !important;
}

/* Il rettangolo evidenziato dall'utente diventa nero pieno. */
.content.home-mode #view-home,
.salon-home,
body.theme-light .content.home-mode #view-home,
body.theme-dark .content.home-mode #view-home,
body.theme-light .salon-home,
body.theme-dark .salon-home{
  background:#000000 !important;
  position:relative !important;
  overflow:visible !important;
}

/* Fascia bianca inferiore: il nero si ferma qui. */
.content.home-mode #view-home::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:44px;
  background:#ffffff;
  border-top:1px solid #e1e1e1;
  z-index:1;
  pointer-events:none;
}

/* Logo principale in alto, sul nero. */
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:12px 24px 330px !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-official-logo{
  display:block !important;
  width:min(850px,72vw) !important;
  max-width:88% !important;
  height:auto !important;
  max-height:225px !important;
  object-fit:contain !important;
  object-position:center !important;
  filter:none !important;
}

/* Box GM nella posizione indicata nello screenshot. */
.home-gm-panel{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:70px !important;
  transform:translateX(-50%) !important;
  width:min(450px,82vw) !important;
  min-height:260px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  z-index:3 !important;
  text-align:center !important;
  padding:10px 18px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.home-gm-title{
  color:#ffffff !important;
  font-size:19px !important;
  line-height:1.1 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
}
.home-gm-title strong{
  color:#ffd21f !important;
  font-weight:500 !important;
}
.home-gm-logo{
  display:block !important;
  width:min(280px,62vw) !important;
  max-width:280px !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
}
.home-gm-name{
  color:#ffffff !important;
  font-size:18px !important;
  line-height:1.1 !important;
  letter-spacing:.02em !important;
}

/* Agendina esattamente a metà tra area nera e fascia bianca. */
.home-calendar-fab{
  display:grid !important;
  place-items:center !important;
  position:absolute !important;
  left:50% !important;
  bottom:15px !important;
  transform:translateX(-50%) !important;
  width:58px !important;
  height:58px !important;
  border-radius:50% !important;
  border:0 !important;
  background:var(--pink) !important;
  color:#ffffff !important;
  font-size:25px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.25) !important;
  z-index:5 !important;
}

/* Versione piccola sulla fascia bianca. */
.version-label{
  left:auto !important;
  right:8px !important;
  bottom:5px !important;
  transform:none !important;
  color:#9b9b9b !important;
  font-size:11px !important;
  z-index:4 !important;
}

body.theme-light .home-gm-panel,
body.theme-dark .home-gm-panel{
  background:transparent !important;
}

@media(max-width:760px){
  .home-logo-zone{
    padding:10px 10px 300px !important;
  }
  .home-official-logo{
    width:min(94vw,760px) !important;
    max-width:94% !important;
    max-height:190px !important;
  }
  .home-gm-panel{
    width:min(390px,88vw) !important;
    min-height:235px !important;
    bottom:68px !important;
  }
  .home-gm-title{font-size:17px !important;}
  .home-gm-logo{width:min(245px,66vw) !important;}
  .home-gm-name{font-size:16px !important;}
  .home-calendar-fab{bottom:15px !important;}
}


/* ===== v0.6.50 GM ANIMATA + BENVENUTO (PATCH UNICA) ===== */
/* Tiene Benvenuto, nasconde solo il GM testuale */
.home-gm-title{
  display:block !important;
  color:#ffffff !important;
}
.home-gm-title strong{
  display:none !important;
}

/* Mantiene solo PNG GM + nome sotto, centrati */
.home-gm-panel{
  gap:10px !important;
  justify-content:center !important;
}

/* Dissolvenza + sfarfallio medio-veloce continuo */
.home-gm-logo{
  display:block !important;
  animation: gmPulseFlicker 2.35s ease-in-out infinite !important;
  transform-origin:center center !important;
  will-change: opacity, filter, transform;
}

@keyframes gmPulseFlicker{
  0%{opacity:0.18;transform:scale(.965);filter:brightness(.78) drop-shadow(0 0 0 rgba(255,215,0,0));}
  6%{opacity:.92;transform:scale(1.01);filter:brightness(1.12) drop-shadow(0 0 10px rgba(255,215,0,.28));}
  10%{opacity:.58;transform:scale(.992);filter:brightness(.92) drop-shadow(0 0 4px rgba(255,215,0,.10));}
  14%{opacity:1;transform:scale(1.018);filter:brightness(1.20) drop-shadow(0 0 15px rgba(255,215,0,.36));}
  20%{opacity:.72;transform:scale(1.0);filter:brightness(.96) drop-shadow(0 0 6px rgba(255,215,0,.14));}
  28%{opacity:.98;transform:scale(1.012);filter:brightness(1.16) drop-shadow(0 0 14px rgba(255,215,0,.33));}
  36%{opacity:.84;transform:scale(.998);filter:brightness(1.0) drop-shadow(0 0 8px rgba(255,215,0,.17));}
  48%{opacity:1;transform:scale(1.02);filter:brightness(1.24) drop-shadow(0 0 18px rgba(255,215,0,.40));}
  56%{opacity:.66;transform:scale(.99);filter:brightness(.90) drop-shadow(0 0 5px rgba(255,215,0,.11));}
  64%{opacity:.96;transform:scale(1.008);filter:brightness(1.12) drop-shadow(0 0 12px rgba(255,215,0,.29));}
  72%{opacity:.76;transform:scale(.996);filter:brightness(.95) drop-shadow(0 0 6px rgba(255,215,0,.15));}
  82%{opacity:1;transform:scale(1.015);filter:brightness(1.18) drop-shadow(0 0 15px rgba(255,215,0,.34));}
  90%{opacity:.88;transform:scale(1.0);filter:brightness(1.02) drop-shadow(0 0 9px rgba(255,215,0,.18));}
  100%{opacity:.78;transform:scale(1.0);filter:brightness(.98) drop-shadow(0 0 7px rgba(255,215,0,.16));}
}

@media (prefers-reduced-motion: reduce){
  .home-gm-logo{
    animation:none !important;
    opacity:1 !important;
    filter:none !important;
    transform:none !important;
  }
}


/* ===== v0.6.51 AGENDA HOME HQ ===== */
.home-calendar-fab{
  width:74px !important;
  height:74px !important;
  bottom:8px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  background-image:url('/static/icons/home-agenda-hq.svg?v=0.6.51') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  box-shadow:none !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
}
.home-calendar-fab > *,
.home-calendar-fab i,
.home-calendar-fab svg{
  opacity:0 !important;
  visibility:hidden !important;
}
@media (max-width:760px){
  .home-calendar-fab{
    width:68px !important;
    height:68px !important;
    bottom:10px !important;
  }
}


/* ===== v0.6.52 HOME IMPAGINAZIONE + FULMINE AGENDA ===== */
.home-gm-panel{
  position:absolute !important;
  left:50% !important;
  bottom:74px !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  z-index:4 !important;
  text-align:center !important;
  padding:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  border:0 !important;
}
.home-gm-title{
  font-size:18px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  margin:0 0 2px !important;
  text-transform:none !important;
}
.home-gm-logo{
  width:min(230px,56vw) !important;
  max-width:230px !important;
}
.home-gm-name{
  font-size:15px !important;
  line-height:1.05 !important;
  margin-top:-2px !important;
  margin-bottom:0 !important;
}
.home-gm-panel::after{
  content:"" !important;
  display:block !important;
  width:90px !important;
  height:120px !important;
  margin-top:0 !important;
  background:url('/static/icons/home-lightning-arrow.png?v=0.6.52') center center / contain no-repeat !important;
  filter:drop-shadow(0 0 8px rgba(255,220,60,.55)) drop-shadow(0 0 18px rgba(255,220,60,.28)) !important;
  transform-origin:center top !important;
  will-change:opacity, transform, filter !important;
  animation:cpHomeBoltFlicker 1.1s infinite, cpHomeBoltBob 1.1s ease-in-out infinite !important;
}
@keyframes cpHomeBoltFlicker{
  0%{opacity:.34;filter:drop-shadow(0 0 2px rgba(255,220,60,.18)) drop-shadow(0 0 6px rgba(255,220,60,.08));}
  8%{opacity:.95;filter:drop-shadow(0 0 8px rgba(255,220,60,.55)) drop-shadow(0 0 16px rgba(255,220,60,.22));}
  16%{opacity:.58;filter:drop-shadow(0 0 4px rgba(255,220,60,.26)) drop-shadow(0 0 8px rgba(255,220,60,.12));}
  26%{opacity:1;filter:drop-shadow(0 0 10px rgba(255,220,60,.70)) drop-shadow(0 0 22px rgba(255,220,60,.36));}
  42%{opacity:.66;filter:drop-shadow(0 0 5px rgba(255,220,60,.32)) drop-shadow(0 0 10px rgba(255,220,60,.14));}
  58%{opacity:.98;filter:drop-shadow(0 0 9px rgba(255,220,60,.62)) drop-shadow(0 0 20px rgba(255,220,60,.30));}
  72%{opacity:.74;filter:drop-shadow(0 0 6px rgba(255,220,60,.35)) drop-shadow(0 0 12px rgba(255,220,60,.16));}
  86%{opacity:1;filter:drop-shadow(0 0 10px rgba(255,220,60,.72)) drop-shadow(0 0 24px rgba(255,220,60,.40));}
  100%{opacity:.82;filter:drop-shadow(0 0 6px rgba(255,220,60,.42)) drop-shadow(0 0 12px rgba(255,220,60,.16));}
}
@keyframes cpHomeBoltBob{
  0%{transform:translateY(0) scale(.98);}
  50%{transform:translateY(4px) scale(1.02);}
  100%{transform:translateY(0) scale(.99);}
}
@media (prefers-reduced-motion: reduce){
  .home-gm-panel::after{animation:none !important; opacity:1 !important;}
}
@media (max-width:760px){
  .home-gm-panel{
    bottom:70px !important;
    gap:6px !important;
  }
  .home-gm-title{font-size:17px !important;}
  .home-gm-logo{width:min(220px,62vw) !important; max-width:220px !important;}
  .home-gm-name{font-size:14px !important;}
  .home-gm-panel::after{width:78px !important; height:104px !important;}
}

/* ===== v0.6.53 GOCCIA AGENDA + AURA ===== */
.home-gm-panel{
  position:absolute !important;
  left:50% !important;
  bottom:76px !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  z-index:4 !important;
  text-align:center !important;
  padding:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  border:0 !important;
}
.home-gm-title{
  font-size:18px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  margin:0 0 3px !important;
  text-transform:none !important;
  color:#fff !important;
}
.home-gm-title strong{display:none !important;}
.home-gm-logo{
  width:min(228px,56vw) !important;
  max-width:228px !important;
}
.home-gm-name{
  font-size:15px !important;
  line-height:1.05 !important;
  margin-top:-2px !important;
  margin-bottom:0 !important;
  color:#fff !important;
}
.home-gm-panel::after{
  content:"" !important;
  display:block !important;
  width:70px !important;
  height:120px !important;
  margin-top:2px !important;
  background:url('/static/icons/home-drop-agenda.svg?v=0.6.53') center top / contain no-repeat !important;
  opacity:0 !important;
  filter:drop-shadow(0 0 6px rgba(255,222,84,.40)) drop-shadow(0 0 16px rgba(255,222,84,.18)) !important;
  transform-origin:center top !important;
  will-change:opacity, transform, filter !important;
  animation:cpHomeDropFall 2.5s linear infinite !important;
}
@keyframes cpHomeDropFall{
  0%{opacity:0;transform:translateY(-10px) scale(.72);filter:drop-shadow(0 0 2px rgba(255,222,84,.18)) drop-shadow(0 0 4px rgba(255,222,84,.08));}
  8%{opacity:.35;transform:translateY(-2px) scale(.82);}
  18%{opacity:.95;transform:translateY(8px) scale(.92);filter:drop-shadow(0 0 5px rgba(255,222,84,.32)) drop-shadow(0 0 10px rgba(255,222,84,.14));}
  38%{opacity:1;transform:translateY(34px) scale(.98);filter:drop-shadow(0 0 6px rgba(255,222,84,.42)) drop-shadow(0 0 14px rgba(255,222,84,.18));}
  58%{opacity:1;transform:translateY(70px) scale(1.02);filter:drop-shadow(0 0 8px rgba(255,222,84,.48)) drop-shadow(0 0 18px rgba(255,222,84,.24));}
  72%{opacity:1;transform:translateY(95px) scale(1.06);filter:drop-shadow(0 0 10px rgba(255,222,84,.68)) drop-shadow(0 0 24px rgba(255,222,84,.30));}
  76%{opacity:.98;transform:translateY(108px) scale(1.12);filter:drop-shadow(0 0 12px rgba(255,222,84,.78)) drop-shadow(0 0 28px rgba(255,222,84,.38));}
  84%{opacity:0;transform:translateY(112px) scale(.35);filter:drop-shadow(0 0 18px rgba(255,222,84,.15)) drop-shadow(0 0 36px rgba(255,222,84,.10));}
  100%{opacity:0;transform:translateY(112px) scale(.35);}
}
.home-calendar-fab{
  display:block !important;
  width:74px !important;
  height:74px !important;
  bottom:8px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  background-image:url('/static/icons/home-agenda-hq.svg?v=0.6.53') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  box-shadow:none !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:visible !important;
  z-index:5 !important;
  will-change:filter,transform !important;
  animation:cpAgendaButtonAura 2.5s ease-in-out infinite !important;
}
.home-calendar-fab > *,
.home-calendar-fab i,
.home-calendar-fab svg{
  opacity:0 !important;
  visibility:hidden !important;
}
.home-calendar-fab::before,
.home-calendar-fab::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  border-radius:50% !important;
  pointer-events:none !important;
}
.home-calendar-fab::before{
  width:86px !important;
  height:86px !important;
  transform:translate(-50%,-50%) scale(.72) !important;
  background:radial-gradient(circle, rgba(255,214,74,.52) 0%, rgba(255,214,74,.28) 26%, rgba(255,214,74,.12) 46%, rgba(255,214,74,0) 68%) !important;
  filter:blur(3px) !important;
  opacity:.08 !important;
  animation:cpAgendaAuraPulse 2.5s ease-in-out infinite !important;
}
.home-calendar-fab::after{
  width:106px !important;
  height:106px !important;
  transform:translate(-50%,-50%) scale(.54) !important;
  border:2px solid rgba(255,226,118,.0) !important;
  box-shadow:0 0 0 rgba(255,220,90,0) !important;
  opacity:0 !important;
  animation:cpAgendaRingPulse 2.5s ease-in-out infinite !important;
}
@keyframes cpAgendaAuraPulse{
  0%,55%{opacity:.06;transform:translate(-50%,-50%) scale(.68);}
  66%{opacity:.12;transform:translate(-50%,-50%) scale(.82);}
  74%{opacity:.72;transform:translate(-50%,-50%) scale(1.04);}
  80%{opacity:.95;transform:translate(-50%,-50%) scale(1.24);}
  90%{opacity:.22;transform:translate(-50%,-50%) scale(1.42);}
  100%{opacity:.08;transform:translate(-50%,-50%) scale(.76);}
}
@keyframes cpAgendaRingPulse{
  0%,68%{opacity:0;transform:translate(-50%,-50%) scale(.4);border-color:rgba(255,226,118,0);box-shadow:0 0 0 rgba(255,220,90,0);}
  76%{opacity:.95;transform:translate(-50%,-50%) scale(.78);border-color:rgba(255,232,150,.85);box-shadow:0 0 16px rgba(255,223,99,.48),0 0 32px rgba(255,223,99,.18);}
  88%{opacity:.26;transform:translate(-50%,-50%) scale(1.28);border-color:rgba(255,232,150,.18);box-shadow:0 0 8px rgba(255,223,99,.12),0 0 18px rgba(255,223,99,.06);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.34);border-color:rgba(255,232,150,0);box-shadow:0 0 0 rgba(255,223,99,0);}
}
@keyframes cpAgendaButtonAura{
  0%,56%{filter:drop-shadow(0 2px 4px rgba(0,0,0,.16)) drop-shadow(0 0 0 rgba(255,224,102,0));transform:translateX(-50%) scale(1);}
  70%{filter:drop-shadow(0 4px 8px rgba(0,0,0,.20)) drop-shadow(0 0 8px rgba(255,224,102,.20));transform:translateX(-50%) scale(1.0);}
  78%{filter:drop-shadow(0 6px 14px rgba(0,0,0,.24)) drop-shadow(0 0 16px rgba(255,224,102,.48));transform:translateX(-50%) scale(1.04);}
  86%{filter:drop-shadow(0 5px 10px rgba(0,0,0,.20)) drop-shadow(0 0 10px rgba(255,224,102,.26));transform:translateX(-50%) scale(1.02);}
  100%{filter:drop-shadow(0 2px 4px rgba(0,0,0,.16)) drop-shadow(0 0 0 rgba(255,224,102,0));transform:translateX(-50%) scale(1);}
}
@media (prefers-reduced-motion: reduce){
  .home-gm-panel::after,
  .home-calendar-fab,
  .home-calendar-fab::before,
  .home-calendar-fab::after{animation:none !important;}
  .home-gm-panel::after{opacity:.85 !important;transform:translateY(76px) scale(.88) !important;}
  .home-calendar-fab::before{opacity:.24 !important;transform:translate(-50%,-50%) scale(1.02) !important;}
  .home-calendar-fab::after{opacity:0 !important;}
}
@media (max-width:760px){
  .home-gm-panel{bottom:72px !important;gap:6px !important;}
  .home-gm-title{font-size:17px !important;}
  .home-gm-logo{width:min(220px,62vw) !important;max-width:220px !important;}
  .home-gm-name{font-size:14px !important;}
  .home-gm-panel::after{width:62px !important;height:108px !important;}
  .home-calendar-fab{width:68px !important;height:68px !important;bottom:10px !important;}
}

/* ===== v0.6.54 HOME CENTRATA + GOCCIA VISIBILE + AURA AGENDA ===== */
/* Abbasso il logo principale e riequilibro tutta la colonna centrale. */
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:72px 24px 300px !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-official-logo{
  width:min(820px,70vw) !important;
  max-width:86% !important;
  max-height:220px !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Centro Benvenuto + GM + nome in modo più compatto e bilanciato. */
.home-gm-panel{
  position:absolute !important;
  left:50% !important;
  bottom:132px !important;
  transform:translateX(-50%) !important;
  width:min(420px,82vw) !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:0 !important;
  text-align:center !important;
  z-index:4 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.home-gm-title{
  display:block !important;
  margin:0 0 1px !important;
  font-size:18px !important;
  line-height:1 !important;
  text-transform:none !important;
  color:#fff !important;
}
.home-gm-title strong{display:none !important;}
.home-gm-logo{
  width:min(224px,54vw) !important;
  max-width:224px !important;
  height:auto !important;
}
.home-gm-name{
  margin:0 !important;
  font-size:15px !important;
  line-height:1 !important;
  color:#fff !important;
}

/* Disabilita completamente il vecchio pseudo-elemento fulmine/goccia sul pannello. */
.home-gm-panel::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

/* Goccia autonoma nel contenitore Home: così resta sempre visibile durante la caduta. */
.content.home-mode #view-home::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:142px !important;
  width:42px !important;
  height:60px !important;
  margin-left:-21px !important;
  background:url('/static/icons/home-drop-agenda.svg?v=0.6.54') center / contain no-repeat !important;
  z-index:6 !important;
  pointer-events:none !important;
  opacity:0 !important;
  filter:drop-shadow(0 0 7px rgba(255,224,100,.60)) drop-shadow(0 0 18px rgba(255,200,50,.28)) !important;
  will-change:transform,opacity,filter !important;
  animation:cpDropToAgenda654 2.35s cubic-bezier(.38,.02,.55,1) infinite !important;
}
@keyframes cpDropToAgenda654{
  0%{opacity:0;transform:translateY(-38px) scale(.58);}
  10%{opacity:.45;transform:translateY(-28px) scale(.68);}
  22%{opacity:1;transform:translateY(-12px) scale(.82);}
  44%{opacity:1;transform:translateY(18px) scale(.94);}
  64%{opacity:1;transform:translateY(46px) scale(1.0);filter:drop-shadow(0 0 8px rgba(255,224,100,.72)) drop-shadow(0 0 20px rgba(255,200,50,.34));}
  76%{opacity:1;transform:translateY(68px) scale(1.04);filter:drop-shadow(0 0 12px rgba(255,235,150,.92)) drop-shadow(0 0 28px rgba(255,205,55,.50));}
  82%{opacity:.9;transform:translateY(80px) scale(.86);}
  88%{opacity:0;transform:translateY(86px) scale(.28);}
  100%{opacity:0;transform:translateY(86px) scale(.28);}
}

/* Agenda sempre leggibile, con aura leggera costante e colpo luminoso all'arrivo della goccia. */
.home-calendar-fab{
  display:block !important;
  width:74px !important;
  height:74px !important;
  left:50% !important;
  bottom:8px !important;
  transform:translateX(-50%) !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent url('/static/icons/home-agenda-hq.svg?v=0.6.54') center/contain no-repeat !important;
  color:transparent !important;
  font-size:0 !important;
  text-indent:-9999px !important;
  overflow:visible !important;
  z-index:7 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 6px rgba(255,218,80,.18)) !important;
  animation:cpAgendaImpact654 2.35s ease-in-out infinite !important;
}
.home-calendar-fab::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:94px !important;
  height:94px !important;
  border-radius:50% !important;
  transform:translate(-50%,-50%) scale(.82) !important;
  background:radial-gradient(circle, rgba(255,229,120,.50) 0%, rgba(255,210,55,.24) 30%, rgba(255,190,35,.08) 54%, rgba(255,190,35,0) 72%) !important;
  filter:blur(3px) !important;
  opacity:.20 !important;
  pointer-events:none !important;
  animation:cpAgendaAura654 2.35s ease-in-out infinite !important;
}
.home-calendar-fab::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:110px !important;
  height:110px !important;
  border-radius:50% !important;
  transform:translate(-50%,-50%) scale(.55) !important;
  border:2px solid rgba(255,236,160,0) !important;
  opacity:0 !important;
  pointer-events:none !important;
  animation:cpAgendaRing654 2.35s ease-out infinite !important;
}
@keyframes cpAgendaImpact654{
  0%,64%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 6px rgba(255,218,80,.18));}
  74%{transform:translateX(-50%) scale(1.015);filter:drop-shadow(0 0 10px rgba(255,225,105,.34));}
  80%{transform:translateX(-50%) scale(1.06);filter:drop-shadow(0 0 18px rgba(255,230,120,.72)) drop-shadow(0 0 32px rgba(255,195,45,.38));}
  88%{transform:translateX(-50%) scale(1.025);filter:drop-shadow(0 0 11px rgba(255,225,105,.36));}
  100%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 6px rgba(255,218,80,.18));}
}
@keyframes cpAgendaAura654{
  0%,62%{opacity:.18;transform:translate(-50%,-50%) scale(.80);}
  72%{opacity:.32;transform:translate(-50%,-50%) scale(.92);}
  80%{opacity:1;transform:translate(-50%,-50%) scale(1.32);}
  90%{opacity:.28;transform:translate(-50%,-50%) scale(1.52);}
  100%{opacity:.18;transform:translate(-50%,-50%) scale(.82);}
}
@keyframes cpAgendaRing654{
  0%,70%{opacity:0;transform:translate(-50%,-50%) scale(.52);border-color:rgba(255,236,160,0);}
  80%{opacity:.92;transform:translate(-50%,-50%) scale(.82);border-color:rgba(255,240,175,.88);box-shadow:0 0 16px rgba(255,225,110,.48);}
  94%{opacity:.08;transform:translate(-50%,-50%) scale(1.34);border-color:rgba(255,236,160,.08);box-shadow:0 0 4px rgba(255,225,110,.08);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.38);border-color:rgba(255,236,160,0);}
}

@media (max-width:760px){
  .home-logo-zone{padding:54px 10px 270px !important;}
  .home-official-logo{width:min(92vw,760px) !important;max-height:190px !important;}
  .home-gm-panel{bottom:124px !important;width:min(380px,88vw) !important;gap:6px !important;}
  .home-gm-title{font-size:17px !important;}
  .home-gm-logo{width:min(210px,60vw) !important;max-width:210px !important;}
  .home-gm-name{font-size:14px !important;}
  .content.home-mode #view-home::before{bottom:136px !important;width:38px !important;height:54px !important;margin-left:-19px !important;}
  .home-calendar-fab{width:68px !important;height:68px !important;bottom:10px !important;}
}


/* ===== v0.6.55 ALLINEAMENTO TARGET + GOCCIA CSS VISIBILE ===== */
/* Target allegato 2: logo più basso, GM più vicino al logo, goccia visibile verso Agenda. */
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:118px 24px 300px !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-official-logo{
  width:min(820px,70vw) !important;
  max-width:86% !important;
  max-height:220px !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Avvicina il blocco Benvenuto / GM / Gabriele al logo. */
.home-gm-panel{
  position:absolute !important;
  left:50% !important;
  bottom:184px !important;
  transform:translateX(-50%) !important;
  width:min(430px,84vw) !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:0 !important;
  margin:0 !important;
  text-align:center !important;
  z-index:5 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:visible !important;
}
.home-gm-title{
  display:block !important;
  margin:0 0 2px !important;
  font-size:18px !important;
  line-height:1 !important;
  text-transform:none !important;
  color:#fff !important;
}
.home-gm-title strong{display:none !important;}
.home-gm-logo{
  width:min(232px,56vw) !important;
  max-width:232px !important;
  height:auto !important;
}
.home-gm-name{
  margin:0 !important;
  font-size:18px !important;
  line-height:1.05 !important;
  color:#fff !important;
  letter-spacing:.01em !important;
}

/* Disabilita qualunque vecchio fulmine/goccia precedente. */
.home-gm-panel::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

/* Goccia fatta in CSS: non dipende più da immagini esterne e resta sempre visibile. */
.content.home-mode #view-home::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:156px !important;
  width:24px !important;
  height:24px !important;
  margin-left:-12px !important;
  z-index:9 !important;
  pointer-events:none !important;
  opacity:0 !important;
  background:linear-gradient(135deg,#fff7c2 0%,#ffe25b 34%,#ffc52c 68%,#f5a200 100%) !important;
  border-radius:58% 42% 62% 38% / 62% 38% 62% 38% !important;
  transform:translateY(-32px) rotate(45deg) scale(.48) !important;
  box-shadow:0 0 8px rgba(255,238,160,.70),0 0 18px rgba(255,205,55,.45),0 0 34px rgba(255,176,15,.18) !important;
  filter:drop-shadow(0 0 5px rgba(255,240,170,.65)) !important;
  will-change:transform,opacity,box-shadow,filter !important;
  animation:cpDropTarget655 2.35s cubic-bezier(.42,.03,.58,1) infinite !important;
}
@keyframes cpDropTarget655{
  0%{opacity:0;transform:translateY(-38px) rotate(45deg) scale(.45);box-shadow:0 0 2px rgba(255,238,160,.16);}
  10%{opacity:.42;transform:translateY(-29px) rotate(45deg) scale(.56);}
  22%{opacity:1;transform:translateY(-15px) rotate(45deg) scale(.68);box-shadow:0 0 7px rgba(255,238,160,.54),0 0 16px rgba(255,205,55,.32);}
  44%{opacity:1;transform:translateY(14px) rotate(45deg) scale(.78);}
  62%{opacity:1;transform:translateY(45px) rotate(45deg) scale(.88);box-shadow:0 0 10px rgba(255,238,160,.72),0 0 22px rgba(255,205,55,.44);}
  74%{opacity:1;transform:translateY(71px) rotate(45deg) scale(.95);box-shadow:0 0 13px rgba(255,248,200,.94),0 0 30px rgba(255,214,80,.62),0 0 46px rgba(255,169,15,.24);}
  80%{opacity:.98;transform:translateY(88px) rotate(45deg) scale(1.0);}
  84%{opacity:.74;transform:translateY(98px) rotate(45deg) scale(.72);}
  90%{opacity:0;transform:translateY(104px) rotate(45deg) scale(.22);}
  100%{opacity:0;transform:translateY(104px) rotate(45deg) scale(.22);}
}

/* Agenda più simile all'allegato 2: aura visibile sempre, picco all'impatto. */
.home-calendar-fab{
  display:block !important;
  width:78px !important;
  height:78px !important;
  left:50% !important;
  bottom:6px !important;
  transform:translateX(-50%) !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent url('/static/icons/home-agenda-hq.svg?v=0.6.55') center/contain no-repeat !important;
  color:transparent !important;
  font-size:0 !important;
  text-indent:-9999px !important;
  overflow:visible !important;
  z-index:10 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 7px rgba(255,217,82,.38)) drop-shadow(0 0 13px rgba(255,166,35,.16)) !important;
  animation:cpAgendaImpact655 2.35s ease-in-out infinite !important;
}
.home-calendar-fab::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:108px !important;
  height:108px !important;
  border-radius:50% !important;
  transform:translate(-50%,-50%) scale(.92) !important;
  background:radial-gradient(circle,rgba(255,242,180,.72) 0%,rgba(255,217,82,.45) 24%,rgba(255,166,35,.23) 44%,rgba(255,120,25,.09) 60%,rgba(255,120,25,0) 74%) !important;
  filter:blur(4px) !important;
  opacity:.42 !important;
  pointer-events:none !important;
  animation:cpAgendaAura655 2.35s ease-in-out infinite !important;
}
.home-calendar-fab::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:118px !important;
  height:118px !important;
  border-radius:50% !important;
  transform:translate(-50%,-50%) scale(.62) !important;
  border:2px solid rgba(255,238,170,.18) !important;
  box-shadow:0 0 10px rgba(255,215,100,.18) !important;
  opacity:.18 !important;
  pointer-events:none !important;
  animation:cpAgendaRing655 2.35s ease-out infinite !important;
}
@keyframes cpAgendaImpact655{
  0%,62%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 7px rgba(255,217,82,.38)) drop-shadow(0 0 13px rgba(255,166,35,.16));}
  72%{transform:translateX(-50%) scale(1.02);filter:drop-shadow(0 0 12px rgba(255,226,112,.52)) drop-shadow(0 0 22px rgba(255,170,35,.28));}
  80%{transform:translateX(-50%) scale(1.075);filter:drop-shadow(0 0 21px rgba(255,239,170,.90)) drop-shadow(0 0 38px rgba(255,172,35,.52));}
  88%{transform:translateX(-50%) scale(1.03);filter:drop-shadow(0 0 13px rgba(255,226,112,.54)) drop-shadow(0 0 24px rgba(255,170,35,.26));}
  100%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 7px rgba(255,217,82,.38)) drop-shadow(0 0 13px rgba(255,166,35,.16));}
}
@keyframes cpAgendaAura655{
  0%,60%{opacity:.40;transform:translate(-50%,-50%) scale(.90);}
  72%{opacity:.56;transform:translate(-50%,-50%) scale(1.0);}
  80%{opacity:1;transform:translate(-50%,-50%) scale(1.35);}
  90%{opacity:.48;transform:translate(-50%,-50%) scale(1.58);}
  100%{opacity:.40;transform:translate(-50%,-50%) scale(.92);}
}
@keyframes cpAgendaRing655{
  0%,66%{opacity:.14;transform:translate(-50%,-50%) scale(.60);border-color:rgba(255,238,170,.14);}
  80%{opacity:.94;transform:translate(-50%,-50%) scale(.88);border-color:rgba(255,247,210,.92);box-shadow:0 0 18px rgba(255,230,135,.62),0 0 32px rgba(255,160,28,.22);}
  94%{opacity:.10;transform:translate(-50%,-50%) scale(1.40);border-color:rgba(255,238,170,.08);box-shadow:0 0 5px rgba(255,230,135,.08);}
  100%{opacity:.14;transform:translate(-50%,-50%) scale(.62);border-color:rgba(255,238,170,.14);}
}

@media (max-width:760px){
  .home-logo-zone{padding:88px 10px 260px !important;}
  .home-official-logo{width:min(92vw,760px) !important;max-height:190px !important;}
  .home-gm-panel{bottom:170px !important;width:min(390px,90vw) !important;gap:6px !important;}
  .home-gm-title{font-size:17px !important;}
  .home-gm-logo{width:min(218px,62vw) !important;max-width:218px !important;}
  .home-gm-name{font-size:16px !important;}
  .content.home-mode #view-home::before{bottom:148px !important;width:22px !important;height:22px !important;margin-left:-11px !important;}
  .home-calendar-fab{width:70px !important;height:70px !important;bottom:9px !important;}
}


/* ===== v0.6.56 FIX REALE: ALLINEAMENTO + GOCCIA DOM + AURA ===== */
/* Il logo resta centrato, ma non troppo alto. */
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:108px 24px 0 !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-official-logo{
  display:block !important;
  width:min(820px,70vw) !important;
  max-width:86% !important;
  height:auto !important;
  max-height:220px !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Posizionamento assoluto dall'alto: elimina gli spostamenti causati dalla fascia bianca. */
.home-gm-panel{
  position:absolute !important;
  left:50% !important;
  top:338px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(430px,84vw) !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  padding:0 !important;
  margin:0 !important;
  text-align:center !important;
  z-index:5 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:visible !important;
}
.home-gm-title{
  display:block !important;
  margin:0 0 1px !important;
  font-size:18px !important;
  line-height:1.05 !important;
  text-transform:none !important;
  color:#fff !important;
}
.home-gm-title strong{display:none !important;}
.home-gm-logo{
  width:min(232px,56vw) !important;
  max-width:232px !important;
  height:auto !important;
}
.home-gm-name{
  margin:0 !important;
  font-size:17px !important;
  line-height:1.05 !important;
  color:#fff !important;
  letter-spacing:.01em !important;
}

/* Elimina definitivamente i vecchi pseudo-elementi usati per fulmine/goccia. */
.home-gm-panel::after,
.content.home-mode #view-home::before{
  content:none !important;
  display:none !important;
  animation:none !important;
}

/* GOCCIA REALE NEL DOM: ancorata all'agendina e sempre renderizzata. */
.home-agenda-drop{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:92px !important;
  width:54px !important;
  height:72px !important;
  margin-left:-27px !important;
  z-index:12 !important;
  pointer-events:none !important;
  background:transparent url('/static/icons/home-drop-agenda.png?v=0.6.56') center/contain no-repeat !important;
  opacity:0 !important;
  transform:translateY(-86px) scale(.62) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(0 0 8px rgba(255,225,100,.62)) drop-shadow(0 0 20px rgba(255,182,20,.28)) !important;
  will-change:opacity,transform,filter !important;
  animation:cpDrop656 2.6s cubic-bezier(.35,.02,.55,1) infinite !important;
}
@keyframes cpDrop656{
  0%{opacity:0;transform:translateY(-86px) scale(.58);filter:drop-shadow(0 0 2px rgba(255,225,100,.10));}
  10%{opacity:.45;transform:translateY(-76px) scale(.66);}
  22%{opacity:1;transform:translateY(-58px) scale(.76);filter:drop-shadow(0 0 8px rgba(255,228,115,.50)) drop-shadow(0 0 15px rgba(255,180,25,.18));}
  42%{opacity:1;transform:translateY(-28px) scale(.86);}
  60%{opacity:1;transform:translateY(1px) scale(.94);filter:drop-shadow(0 0 11px rgba(255,235,140,.68)) drop-shadow(0 0 22px rgba(255,185,25,.28));}
  72%{opacity:1;transform:translateY(20px) scale(1.02);filter:drop-shadow(0 0 14px rgba(255,245,190,.88)) drop-shadow(0 0 30px rgba(255,194,35,.42));}
  79%{opacity:1;transform:translateY(31px) scale(1.08);}
  84%{opacity:.68;transform:translateY(38px) scale(.72);}
  90%{opacity:0;transform:translateY(42px) scale(.18);}
  100%{opacity:0;transform:translateY(42px) scale(.18);}
}

/* AGENDA: aura chiara sincronizzata con l'impatto della goccia. */
.home-calendar-fab{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:6px !important;
  transform:translateX(-50%) !important;
  width:78px !important;
  height:78px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent url('/static/icons/home-agenda-hq.svg?v=0.6.56') center/contain no-repeat !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:visible !important;
  z-index:13 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 6px rgba(255,216,80,.28)) !important;
  will-change:transform,filter !important;
  animation:cpAgendaImpact656 2.6s ease-in-out infinite !important;
}
.home-calendar-fab > *,
.home-calendar-fab i,
.home-calendar-fab svg{opacity:0 !important;visibility:hidden !important;}
.home-calendar-fab::before,
.home-calendar-fab::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  border-radius:50% !important;
  pointer-events:none !important;
}
.home-calendar-fab::before{
  width:116px !important;
  height:116px !important;
  transform:translate(-50%,-50%) scale(.72) !important;
  background:radial-gradient(circle,rgba(255,247,205,.82) 0%,rgba(255,226,115,.58) 18%,rgba(255,191,42,.32) 38%,rgba(255,135,25,.11) 58%,rgba(255,135,25,0) 74%) !important;
  filter:blur(5px) !important;
  opacity:.22 !important;
  animation:cpAgendaAura656 2.6s ease-in-out infinite !important;
}
.home-calendar-fab::after{
  width:124px !important;
  height:124px !important;
  transform:translate(-50%,-50%) scale(.48) !important;
  border:2px solid rgba(255,242,180,0) !important;
  box-shadow:0 0 0 rgba(255,220,100,0) !important;
  opacity:0 !important;
  animation:cpAgendaRing656 2.6s ease-out infinite !important;
}
@keyframes cpAgendaImpact656{
  0%,66%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 6px rgba(255,216,80,.28));}
  74%{transform:translateX(-50%) scale(1.02);filter:drop-shadow(0 0 12px rgba(255,232,130,.52)) drop-shadow(0 0 22px rgba(255,170,30,.22));}
  80%{transform:translateX(-50%) scale(1.08);filter:drop-shadow(0 0 22px rgba(255,248,205,.92)) drop-shadow(0 0 40px rgba(255,176,30,.48));}
  88%{transform:translateX(-50%) scale(1.025);filter:drop-shadow(0 0 12px rgba(255,232,130,.48));}
  100%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 6px rgba(255,216,80,.28));}
}
@keyframes cpAgendaAura656{
  0%,65%{opacity:.18;transform:translate(-50%,-50%) scale(.68);}
  73%{opacity:.36;transform:translate(-50%,-50%) scale(.86);}
  80%{opacity:1;transform:translate(-50%,-50%) scale(1.30);}
  91%{opacity:.30;transform:translate(-50%,-50%) scale(1.55);}
  100%{opacity:.18;transform:translate(-50%,-50%) scale(.70);}
}
@keyframes cpAgendaRing656{
  0%,70%{opacity:0;transform:translate(-50%,-50%) scale(.45);border-color:rgba(255,242,180,0);}
  80%{opacity:.95;transform:translate(-50%,-50%) scale(.82);border-color:rgba(255,250,220,.92);box-shadow:0 0 18px rgba(255,235,150,.66),0 0 34px rgba(255,165,25,.24);}
  94%{opacity:.08;transform:translate(-50%,-50%) scale(1.42);border-color:rgba(255,242,180,.06);box-shadow:0 0 5px rgba(255,235,150,.06);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.46);border-color:rgba(255,242,180,0);}
}

@media (max-width:760px){
  .home-logo-zone{padding:82px 10px 0 !important;}
  .home-official-logo{width:min(92vw,760px) !important;max-height:190px !important;}
  .home-gm-panel{top:318px !important;width:min(390px,90vw) !important;gap:6px !important;}
  .home-gm-title{font-size:17px !important;}
  .home-gm-logo{width:min(218px,62vw) !important;max-width:218px !important;}
  .home-gm-name{font-size:16px !important;}
  .home-agenda-drop{bottom:86px !important;width:48px !important;height:64px !important;margin-left:-24px !important;}
  .home-calendar-fab{width:70px !important;height:70px !important;bottom:9px !important;}
}


/* ===== v0.6.57 HOME BUSINESS FINALE / NO GOCCIA ===== */
/* Mantieni misure del logo principale e GM; impaginazione verticale più compatta. */
.home-logo-zone{
  padding:96px 24px 0 !important;
}
.home-official-logo{
  width:min(820px,70vw) !important;
  max-width:86% !important;
  max-height:220px !important;
  animation:cpBrandEnter657 .95s cubic-bezier(.2,.75,.25,1) both !important;
}
@keyframes cpBrandEnter657{
  0%{opacity:0;transform:translateY(-12px) scale(.985);filter:brightness(.72);}
  100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1);}
}

.home-gm-panel{
  top:350px !important;
  bottom:auto !important;
  width:min(430px,84vw) !important;
  gap:6px !important;
  z-index:6 !important;
}
.home-gm-title{
  font-size:18px !important;
  margin:0 0 1px !important;
}
.home-gm-logo{
  width:min(232px,56vw) !important;
  max-width:232px !important;
}
.home-gm-name{
  font-size:17px !important;
  margin:0 !important;
}

/* La goccia è stata eliminata definitivamente. */
.home-agenda-drop,
.home-gm-panel::after,
.content.home-mode #view-home::before{
  display:none !important;
  content:none !important;
  animation:none !important;
}

/* BUSINESS: stile outline ripetuto come riferimento, con centro oro pieno. */
.home-business-mark{
  position:absolute !important;
  left:50% !important;
  bottom:88px !important;
  transform:translateX(-50%) !important;
  width:min(930px,84vw) !important;
  height:170px !important;
  z-index:5 !important;
  pointer-events:none !important;
  overflow:visible !important;
  font-family:"Arial Black","Helvetica Neue",Arial,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
  animation:cpBusinessEnter657 1s .18s cubic-bezier(.2,.75,.25,1) both !important;
}
.home-business-mark span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  white-space:nowrap !important;
  user-select:none !important;
}
.business-main{
  transform:translate(-50%,-50%) !important;
  font-size:clamp(54px,6.1vw,100px) !important;
  color:#e9b333 !important;
  background:linear-gradient(105deg,#8d5d05 0%,#f7c649 18%,#fff0a2 34%,#b97905 48%,#ffe37b 63%,#a96803 78%,#f4c34a 100%) !important;
  background-size:220% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px rgba(255,222,110,.42) !important;
  text-shadow:0 0 8px rgba(255,190,30,.18),0 0 18px rgba(255,158,0,.12) !important;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.34)) !important;
  animation:cpBusinessGold657 2.7s linear infinite,cpBusinessBreath657 3.2s ease-in-out infinite !important;
  z-index:5 !important;
}
.business-ghost{
  transform:translate(-50%,-50%) !important;
  font-size:clamp(56px,6.2vw,102px) !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1.25px rgba(216,158,17,.50) !important;
  text-shadow:0 0 9px rgba(255,176,0,.08) !important;
  opacity:.76 !important;
}
.business-ghost-a{transform:translate(-50%,-103%) scale(.99) !important;opacity:.42 !important;animation:cpGhostA657 3s ease-in-out infinite !important;}
.business-ghost-b{transform:translate(-50%,-76%) scale(.995) !important;opacity:.58 !important;animation:cpGhostB657 3.3s ease-in-out infinite !important;}
.business-ghost-c{transform:translate(-50%,-24%) scale(.995) !important;opacity:.54 !important;animation:cpGhostA657 3.5s ease-in-out infinite reverse !important;}
.business-ghost-d{transform:translate(-50%,4%) scale(.99) !important;opacity:.36 !important;animation:cpGhostB657 3.1s ease-in-out infinite reverse !important;}
.home-business-mark::before,
.home-business-mark::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  width:94% !important;
  height:1px !important;
  transform:translateX(-50%) !important;
  background:linear-gradient(90deg,transparent 0%,rgba(220,0,36,.24) 13%,#ef1738 32%,rgba(255,205,80,.85) 50%,#ef1738 68%,rgba(220,0,36,.24) 87%,transparent 100%) !important;
  box-shadow:0 0 7px rgba(235,0,40,.22) !important;
  animation:cpBusinessLine657 2.2s ease-in-out infinite !important;
}
.home-business-mark::before{top:14px !important;}
.home-business-mark::after{bottom:12px !important;animation-delay:-1.1s !important;}

@keyframes cpBusinessEnter657{
  0%{opacity:0;transform:translateX(-50%) translateY(14px) scale(.98);}
  100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}
}
@keyframes cpBusinessGold657{
  0%{background-position:180% 50%;}
  100%{background-position:-40% 50%;}
}
@keyframes cpBusinessBreath657{
  0%,100%{filter:drop-shadow(0 3px 2px rgba(0,0,0,.34)) drop-shadow(0 0 5px rgba(255,184,28,.08));}
  50%{filter:drop-shadow(0 3px 2px rgba(0,0,0,.34)) drop-shadow(0 0 13px rgba(255,198,55,.26));}
}
@keyframes cpGhostA657{
  0%,100%{opacity:.32;filter:brightness(.78);}
  50%{opacity:.68;filter:brightness(1.22);}
}
@keyframes cpGhostB657{
  0%,100%{opacity:.58;filter:brightness(.92);}
  50%{opacity:.28;filter:brightness(1.14);}
}
@keyframes cpBusinessLine657{
  0%,100%{opacity:.36;filter:brightness(.82);}
  45%{opacity:1;filter:brightness(1.45);}
  55%{opacity:.78;filter:brightness(1.08);}
}

/* Agenda: niente goccia; aura continua ai bordi, elegante e visibile. */
.home-calendar-fab{
  width:78px !important;
  height:78px !important;
  bottom:6px !important;
  background:transparent url('/static/icons/home-agenda-hq.svg?v=0.6.57') center/contain no-repeat !important;
  filter:drop-shadow(0 0 7px rgba(255,216,80,.40)) !important;
  animation:cpAgendaAuraButton657 1.8s ease-in-out infinite !important;
}
.home-calendar-fab::before{
  width:112px !important;
  height:112px !important;
  background:radial-gradient(circle,rgba(255,247,205,.78) 0%,rgba(255,225,115,.52) 18%,rgba(255,185,35,.25) 40%,rgba(255,120,20,.08) 58%,rgba(255,120,20,0) 74%) !important;
  filter:blur(5px) !important;
  opacity:.42 !important;
  animation:cpAgendaAura657 1.8s ease-in-out infinite !important;
}
.home-calendar-fab::after{
  width:102px !important;
  height:102px !important;
  border:2px solid rgba(255,242,190,.58) !important;
  box-shadow:0 0 14px rgba(255,231,135,.34),0 0 28px rgba(255,154,24,.12) !important;
  opacity:.48 !important;
  animation:cpAgendaRing657 1.8s ease-in-out infinite !important;
}
@keyframes cpAgendaAuraButton657{
  0%,100%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 7px rgba(255,216,80,.34));}
  50%{transform:translateX(-50%) scale(1.045);filter:drop-shadow(0 0 16px rgba(255,236,160,.72)) drop-shadow(0 0 29px rgba(255,154,20,.24));}
}
@keyframes cpAgendaAura657{
  0%,100%{opacity:.28;transform:translate(-50%,-50%) scale(.78);}
  50%{opacity:.92;transform:translate(-50%,-50%) scale(1.18);}
}
@keyframes cpAgendaRing657{
  0%,100%{opacity:.22;transform:translate(-50%,-50%) scale(.78);}
  50%{opacity:.82;transform:translate(-50%,-50%) scale(1.13);}
}

@media (prefers-reduced-motion: reduce){
  .home-official-logo,.home-business-mark,.business-main,.business-ghost,
  .home-business-mark::before,.home-business-mark::after,
  .home-calendar-fab,.home-calendar-fab::before,.home-calendar-fab::after{
    animation:none !important;
  }
}

@media (max-width:760px){
  .home-logo-zone{padding:78px 10px 0 !important;}
  .home-official-logo{width:min(92vw,760px) !important;max-height:188px !important;}
  .home-gm-panel{top:294px !important;width:min(390px,90vw) !important;}
  .home-gm-logo{width:min(210px,60vw) !important;max-width:210px !important;}
  .home-business-mark{bottom:82px !important;width:94vw !important;height:138px !important;letter-spacing:.055em !important;}
  .business-main{font-size:clamp(42px,11.4vw,68px) !important;}
  .business-ghost{font-size:clamp(43px,11.6vw,70px) !important;}
  .home-calendar-fab{width:70px !important;height:70px !important;bottom:9px !important;}
}

/* ===== v0.6.58 MATCH ALLEGATO 2 — BUSINESS GRANDE / ALLINEAMENTO ===== */
/* Logo principale: stessa misura, solo riportato più in alto come nel riferimento. */
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:38px 24px 0 !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-official-logo{
  width:min(820px,70vw) !important;
  max-width:86% !important;
  max-height:220px !important;
}

/* GM originale: più vicino al logo e centrato come allegato 2. */
.home-gm-panel{
  position:absolute !important;
  left:50% !important;
  top:310px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(440px,86vw) !important;
  gap:6px !important;
  z-index:6 !important;
}
.home-gm-title{
  font-size:18px !important;
  margin:0 0 1px !important;
}
.home-gm-logo{
  width:min(252px,58vw) !important;
  max-width:252px !important;
}
.home-gm-name{
  font-size:17px !important;
  margin:0 !important;
}

/* BUSINESS: dimensioni e spaziatura come allegato 2. */
.home-business-mark{
  position:absolute !important;
  left:50% !important;
  top:530px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(1080px,92vw) !important;
  height:218px !important;
  z-index:5 !important;
  pointer-events:none !important;
  overflow:visible !important;
  letter-spacing:.055em !important;
}
.business-main{
  font-size:clamp(76px,8.35vw,138px) !important;
  transform:translate(-50%,-50%) !important;
  letter-spacing:.045em !important;
  background:linear-gradient(100deg,#7e5000 0%,#f5be35 12%,#fff0a1 28%,#c78107 42%,#ffe276 57%,#9f6203 72%,#f8ca4d 88%,#8a5600 100%) !important;
  background-size:240% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1.2px rgba(255,224,120,.48) !important;
  text-shadow:0 0 10px rgba(255,195,42,.22),0 0 22px rgba(255,157,0,.14) !important;
}
.business-ghost{
  font-size:clamp(78px,8.45vw,140px) !important;
  letter-spacing:.045em !important;
  -webkit-text-stroke:1.3px rgba(222,166,29,.58) !important;
  opacity:.72 !important;
}
.business-ghost-a{transform:translate(-50%,-112%) scale(1) !important;opacity:.44 !important;}
.business-ghost-b{transform:translate(-50%,-82%) scale(1) !important;opacity:.62 !important;}
.business-ghost-c{transform:translate(-50%,-18%) scale(1) !important;opacity:.58 !important;}
.business-ghost-d{transform:translate(-50%,12%) scale(1) !important;opacity:.40 !important;}
.home-business-mark::before,
.home-business-mark::after{
  width:96% !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent 0%,rgba(218,152,10,.12) 14%,rgba(245,190,42,.55) 34%,rgba(255,232,130,.95) 50%,rgba(245,190,42,.55) 66%,rgba(218,152,10,.12) 86%,transparent 100%) !important;
  box-shadow:0 0 8px rgba(255,190,35,.22) !important;
}
.home-business-mark::before{top:12px !important;}
.home-business-mark::after{bottom:11px !important;}

/* Agenda: aura più simile al mockup, visibile tutto attorno ai bordi. */
.home-calendar-fab{
  width:80px !important;
  height:80px !important;
  bottom:4px !important;
  filter:drop-shadow(0 0 8px rgba(255,223,104,.52)) !important;
  animation:cpAgendaAuraButton658 1.65s ease-in-out infinite !important;
}
.home-calendar-fab::before{
  width:118px !important;
  height:118px !important;
  background:radial-gradient(circle,rgba(255,252,232,.92) 0%,rgba(255,232,145,.62) 18%,rgba(255,195,55,.34) 38%,rgba(255,136,20,.11) 58%,rgba(255,136,20,0) 74%) !important;
  opacity:.52 !important;
  animation:cpAgendaAura658 1.65s ease-in-out infinite !important;
}
.home-calendar-fab::after{
  width:96px !important;
  height:96px !important;
  border:2.5px solid rgba(255,248,218,.78) !important;
  box-shadow:0 0 15px rgba(255,238,170,.55),0 0 30px rgba(255,168,24,.18) !important;
  opacity:.78 !important;
  animation:cpAgendaRing658 1.65s ease-in-out infinite !important;
}
@keyframes cpAgendaAuraButton658{
  0%,100%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 7px rgba(255,216,80,.38));}
  50%{transform:translateX(-50%) scale(1.035);filter:drop-shadow(0 0 17px rgba(255,242,185,.82)) drop-shadow(0 0 30px rgba(255,160,20,.25));}
}
@keyframes cpAgendaAura658{
  0%,100%{opacity:.34;transform:translate(-50%,-50%) scale(.82);}
  50%{opacity:.95;transform:translate(-50%,-50%) scale(1.16);}
}
@keyframes cpAgendaRing658{
  0%,100%{opacity:.38;transform:translate(-50%,-50%) scale(.82);}
  50%{opacity:.96;transform:translate(-50%,-50%) scale(1.10);}
}

@media (max-width:760px){
  .home-logo-zone{padding:30px 10px 0 !important;}
  .home-official-logo{width:min(92vw,760px) !important;max-height:188px !important;}
  .home-gm-panel{top:266px !important;width:min(400px,92vw) !important;}
  .home-gm-logo{width:min(220px,62vw) !important;max-width:220px !important;}
  .home-business-mark{top:466px !important;width:96vw !important;height:184px !important;letter-spacing:.04em !important;}
  .business-main{font-size:clamp(54px,14vw,88px) !important;}
  .business-ghost{font-size:clamp(55px,14.2vw,90px) !important;}
  .home-calendar-fab{width:72px !important;height:72px !important;bottom:8px !important;}
}

/* ===== v0.6.59 HOME UFFICIALE — BUSINESS CENTRATO / GM A DESTRA / AURA AGENDA ===== */
/* Mantieni misure dei loghi e proporzioni viste nel riferimento utente. */
.content.home-mode #view-home{
  position:relative !important;
  overflow:visible !important;
}

/* Logo Catalano: centrato orizzontalmente e stabile. */
.home-logo-zone{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:38px 24px 0 !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-official-logo{
  width:min(820px,70vw) !important;
  max-width:86% !important;
  max-height:220px !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* BUSINESS: perfettamente centrato rispetto all'intera Home. */
.home-business-mark{
  position:absolute !important;
  left:50% !important;
  top:530px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(1080px,92vw) !important;
  height:218px !important;
  text-align:center !important;
  z-index:5 !important;
  pointer-events:none !important;
  overflow:visible !important;
  letter-spacing:.055em !important;
}
.home-business-mark span{
  left:50% !important;
  text-align:center !important;
}
.business-main{
  font-size:clamp(76px,8.35vw,138px) !important;
  transform:translate(-50%,-50%) !important;
  letter-spacing:.045em !important;
}
.business-ghost{
  font-size:clamp(78px,8.45vw,140px) !important;
  letter-spacing:.045em !important;
}
.business-ghost-a{transform:translate(-50%,-112%) scale(1) !important;}
.business-ghost-b{transform:translate(-50%,-82%) scale(1) !important;}
.business-ghost-c{transform:translate(-50%,-18%) scale(1) !important;}
.business-ghost-d{transform:translate(-50%,12%) scale(1) !important;}

/* GM originale: impaginato ufficialmente a destra, con margini coerenti. */
.home-gm-panel{
  position:absolute !important;
  left:auto !important;
  right:clamp(22px,2.5vw,46px) !important;
  top:auto !important;
  bottom:18px !important;
  transform:none !important;
  width:min(250px,22vw) !important;
  min-width:210px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  z-index:6 !important;
  text-align:center !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.home-gm-title{
  font-size:18px !important;
  line-height:1 !important;
  margin:0 0 1px !important;
  color:#fff !important;
}
.home-gm-title strong{display:none !important;}
.home-gm-logo{
  width:min(210px,19vw) !important;
  max-width:210px !important;
  height:auto !important;
}
.home-gm-name{
  font-size:16px !important;
  line-height:1.05 !important;
  margin:0 !important;
  color:#fff !important;
  white-space:nowrap !important;
}

/* Elimina qualunque residuo di goccia/fulmine. */
.home-agenda-drop,
.home-gm-panel::after,
.content.home-mode #view-home::before{
  display:none !important;
  content:none !important;
  animation:none !important;
  background:none !important;
}

/* Agenda: aura ai bordi più evidente, sempre animata e pulita. */
.home-calendar-fab{
  width:80px !important;
  height:80px !important;
  bottom:4px !important;
  border-radius:50% !important;
  background:transparent url('/static/icons/home-agenda-hq.svg?v=0.6.59') center/contain no-repeat !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.20),0 0 12px rgba(255,40,105,.34) !important;
  filter:drop-shadow(0 0 7px rgba(255,255,255,.38)) drop-shadow(0 0 11px rgba(255,33,97,.28)) !important;
  overflow:visible !important;
  z-index:8 !important;
  animation:cpAgendaCore659 1.5s ease-in-out infinite !important;
}
.home-calendar-fab::before,
.home-calendar-fab::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  pointer-events:none !important;
  border-radius:50% !important;
}
.home-calendar-fab::before{
  width:108px !important;
  height:108px !important;
  transform:translate(-50%,-50%) scale(.82) !important;
  border:2px solid rgba(255,247,250,.72) !important;
  box-shadow:
    0 0 8px rgba(255,255,255,.50),
    0 0 18px rgba(255,48,112,.54),
    0 0 34px rgba(255,48,112,.22) !important;
  opacity:.62 !important;
  background:transparent !important;
  filter:none !important;
  animation:cpAgendaRing659 1.5s ease-in-out infinite !important;
}
.home-calendar-fab::after{
  width:132px !important;
  height:132px !important;
  transform:translate(-50%,-50%) scale(.68) !important;
  background:radial-gradient(circle,
    rgba(255,255,255,.28) 0%,
    rgba(255,113,158,.22) 22%,
    rgba(255,33,97,.13) 42%,
    rgba(255,33,97,.05) 58%,
    rgba(255,33,97,0) 72%) !important;
  filter:blur(4px) !important;
  opacity:.34 !important;
  animation:cpAgendaGlow659 1.5s ease-in-out infinite !important;
}
@keyframes cpAgendaCore659{
  0%,100%{
    transform:translateX(-50%) scale(1);
    filter:drop-shadow(0 0 6px rgba(255,255,255,.34)) drop-shadow(0 0 10px rgba(255,33,97,.22));
  }
  50%{
    transform:translateX(-50%) scale(1.045);
    filter:drop-shadow(0 0 12px rgba(255,255,255,.74)) drop-shadow(0 0 23px rgba(255,33,97,.56));
  }
}
@keyframes cpAgendaRing659{
  0%,100%{
    opacity:.36;
    transform:translate(-50%,-50%) scale(.82);
    border-color:rgba(255,247,250,.48);
    box-shadow:0 0 6px rgba(255,255,255,.28),0 0 13px rgba(255,48,112,.30),0 0 25px rgba(255,48,112,.12);
  }
  50%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1.08);
    border-color:rgba(255,255,255,.96);
    box-shadow:0 0 12px rgba(255,255,255,.82),0 0 28px rgba(255,48,112,.78),0 0 52px rgba(255,48,112,.34);
  }
}
@keyframes cpAgendaGlow659{
  0%,100%{opacity:.18;transform:translate(-50%,-50%) scale(.72);}
  50%{opacity:.82;transform:translate(-50%,-50%) scale(1.12);}
}

@media (prefers-reduced-motion: reduce){
  .home-calendar-fab,.home-calendar-fab::before,.home-calendar-fab::after{
    animation:none !important;
  }
}

@media (max-width:1100px){
  .home-gm-panel{
    right:18px !important;
    width:210px !important;
    min-width:0 !important;
  }
  .home-gm-logo{width:190px !important;}
  .home-gm-title{font-size:16px !important;}
  .home-gm-name{font-size:14px !important;}
}

@media (max-width:760px){
  .home-logo-zone{padding:30px 10px 0 !important;}
  .home-official-logo{width:min(92vw,760px) !important;max-height:188px !important;}
  .home-business-mark{top:466px !important;width:96vw !important;height:184px !important;letter-spacing:.04em !important;}
  .business-main{font-size:clamp(54px,14vw,88px) !important;}
  .business-ghost{font-size:clamp(55px,14.2vw,90px) !important;}
  .home-gm-panel{
    right:10px !important;
    bottom:20px !important;
    width:150px !important;
  }
  .home-gm-logo{width:138px !important;}
  .home-gm-title{font-size:14px !important;}
  .home-gm-name{font-size:12px !important;}
  .home-calendar-fab{width:72px !important;height:72px !important;bottom:8px !important;}
}


/* ===== v0.6.60 HOME FIX DEFINITIVO — GM COMPLETO / CENTRATURE / AURA VISIBILE ===== */
.content.home-mode #view-home,
.salon-home{
  position:relative !important;
  overflow:visible !important;
}

/* Logo Catalano: centro geometrico della Home, senza dipendere da altri blocchi. */
.home-logo-zone{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:auto !important;
  height:255px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:34px 24px 0 !important;
  margin:0 !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.home-official-logo{
  display:block !important;
  width:min(820px,70vw) !important;
  max-width:86% !important;
  height:auto !important;
  max-height:220px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}

/* BUSINESS: centro reale della viewport/Home. */
.home-business-mark{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:520px !important;
  bottom:auto !important;
  transform:translateX(-50%) !important;
  width:min(1060px,90vw) !important;
  height:220px !important;
  margin:0 !important;
  text-align:center !important;
  overflow:visible !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.home-business-mark span{
  left:50% !important;
  right:auto !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.business-main{
  font-size:clamp(76px,8.25vw,136px) !important;
  transform:translate(-50%,-50%) !important;
  letter-spacing:.04em !important;
}
.business-ghost{
  font-size:clamp(78px,8.4vw,139px) !important;
  letter-spacing:.04em !important;
}
.business-ghost-a{transform:translate(-50%,-112%) !important;}
.business-ghost-b{transform:translate(-50%,-82%) !important;}
.business-ghost-c{transform:translate(-50%,-18%) !important;}
.business-ghost-d{transform:translate(-50%,12%) !important;}

/* GM originale a destra, completamente sopra la fascia bianca: titolo + PNG + nome sempre visibili. */
.home-gm-panel{
  position:absolute !important;
  left:auto !important;
  right:clamp(28px,3.1vw,56px) !important;
  top:auto !important;
  bottom:74px !important;
  transform:none !important;
  width:240px !important;
  min-width:240px !important;
  max-width:240px !important;
  min-height:188px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  padding:0 !important;
  margin:0 !important;
  text-align:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  overflow:visible !important;
  z-index:7 !important;
}
.home-gm-title{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.12 !important;
  font-weight:400 !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.home-gm-title strong{display:none !important;}
.home-gm-logo{
  display:block !important;
  width:210px !important;
  max-width:210px !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
.home-gm-name{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:1.12 !important;
  font-weight:400 !important;
  text-align:center !important;
  white-space:nowrap !important;
}

/* Nessuna goccia/fulmine/residuo. */
.home-agenda-drop,
.home-gm-panel::after,
.content.home-mode #view-home::before{
  display:none !important;
  content:none !important;
  background:none !important;
  animation:none !important;
}

/* Agenda: animazione evidente direttamente sul bottone + due aloni pulsanti. */
.home-calendar-fab{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:2px !important;
  transform:translateX(-50%) scale(1) !important;
  width:80px !important;
  height:80px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent url('/static/icons/home-agenda-hq.svg?v=0.6.60') center/contain no-repeat !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:visible !important;
  z-index:10 !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.72),
    0 0 10px rgba(255,255,255,.58),
    0 0 18px rgba(255,28,94,.58),
    0 0 34px rgba(255,28,94,.26) !important;
  filter:none !important;
  animation:agendaAuraCore660 1.15s ease-in-out infinite !important;
  will-change:transform,box-shadow !important;
}
.home-calendar-fab > *,
.home-calendar-fab i,
.home-calendar-fab svg{
  opacity:0 !important;
  visibility:hidden !important;
}
.home-calendar-fab::before,
.home-calendar-fab::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  pointer-events:none !important;
  border-radius:50% !important;
  box-sizing:border-box !important;
}
.home-calendar-fab::before{
  width:104px !important;
  height:104px !important;
  transform:translate(-50%,-50%) scale(.82) !important;
  border:3px solid rgba(255,255,255,.78) !important;
  background:transparent !important;
  box-shadow:
    0 0 9px rgba(255,255,255,.72),
    0 0 20px rgba(255,42,108,.70),
    0 0 38px rgba(255,42,108,.34) !important;
  opacity:.72 !important;
  animation:agendaAuraRing660 1.15s ease-out infinite !important;
}
.home-calendar-fab::after{
  width:140px !important;
  height:140px !important;
  transform:translate(-50%,-50%) scale(.64) !important;
  border:0 !important;
  background:radial-gradient(circle,
    rgba(255,255,255,.34) 0%,
    rgba(255,112,158,.30) 22%,
    rgba(255,28,94,.18) 40%,
    rgba(255,28,94,.08) 56%,
    rgba(255,28,94,0) 72%) !important;
  filter:blur(4px) !important;
  opacity:.42 !important;
  animation:agendaAuraGlow660 1.15s ease-in-out infinite !important;
}
@keyframes agendaAuraCore660{
  0%,100%{
    transform:translateX(-50%) scale(1);
    box-shadow:0 0 0 2px rgba(255,255,255,.64),0 0 8px rgba(255,255,255,.45),0 0 15px rgba(255,28,94,.46),0 0 26px rgba(255,28,94,.18);
  }
  50%{
    transform:translateX(-50%) scale(1.075);
    box-shadow:0 0 0 3px rgba(255,255,255,1),0 0 16px rgba(255,255,255,.95),0 0 32px rgba(255,28,94,.96),0 0 56px rgba(255,28,94,.48);
  }
}
@keyframes agendaAuraRing660{
  0%{opacity:.18;transform:translate(-50%,-50%) scale(.70);border-color:rgba(255,255,255,.35);}
  48%{opacity:1;transform:translate(-50%,-50%) scale(1.02);border-color:rgba(255,255,255,1);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.36);border-color:rgba(255,255,255,.05);}
}
@keyframes agendaAuraGlow660{
  0%,100%{opacity:.16;transform:translate(-50%,-50%) scale(.66);}
  50%{opacity:.92;transform:translate(-50%,-50%) scale(1.18);}
}

/* L'utente ha chiesto esplicitamente l'animazione: mantienila anche se il sistema segnala reduced-motion. */
@media (prefers-reduced-motion: reduce){
  .home-calendar-fab{animation:agendaAuraCore660 1.15s ease-in-out infinite !important;}
  .home-calendar-fab::before{animation:agendaAuraRing660 1.15s ease-out infinite !important;}
  .home-calendar-fab::after{animation:agendaAuraGlow660 1.15s ease-in-out infinite !important;}
}

@media (max-width:1100px){
  .home-gm-panel{
    right:20px !important;
    bottom:70px !important;
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
  }
  .home-gm-logo{width:190px !important;max-width:190px !important;}
  .home-gm-title{font-size:16px !important;}
  .home-gm-name{font-size:14px !important;}
}

@media (max-width:760px){
  .home-logo-zone{height:220px !important;padding:28px 10px 0 !important;}
  .home-official-logo{width:min(92vw,760px) !important;max-height:188px !important;}
  .home-business-mark{top:450px !important;width:94vw !important;height:188px !important;}
  .business-main{font-size:clamp(54px,13.5vw,86px) !important;}
  .business-ghost{font-size:clamp(55px,13.7vw,88px) !important;}
  .home-gm-panel{
    right:10px !important;
    bottom:72px !important;
    width:155px !important;
    min-width:155px !important;
    max-width:155px !important;
    min-height:138px !important;
    gap:4px !important;
  }
  .home-gm-logo{width:136px !important;max-width:136px !important;}
  .home-gm-title{font-size:14px !important;}
  .home-gm-name{font-size:12px !important;}
  .home-calendar-fab{width:72px !important;height:72px !important;bottom:6px !important;}
  .home-calendar-fab::before{width:94px !important;height:94px !important;}
  .home-calendar-fab::after{width:126px !important;height:126px !important;}
}

/* ==========================================================
   v0.6.61 HOME LAYOUT DEFINITIVO CENTRATO + AURA AGENDA
   ========================================================== */

.salon-home,
body.theme-light .salon-home,
body.theme-dark .salon-home,
.content.home-mode,
body.theme-light .content.home-mode,
body.theme-dark .content.home-mode,
.content.home-mode #view-home,
body.theme-light .content.home-mode #view-home,
body.theme-dark .content.home-mode #view-home{
  background:#000 !important;
}

.content.home-mode #view-home{
  position:relative !important;
  overflow:hidden !important;
  min-height:100% !important;
}

.content.home-mode #view-home::before{
  content:none !important;
  display:none !important;
}

.content.home-mode #view-home::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:68px;
  background:#fff;
  z-index:1;
}

.home-logo-zone{
  position:absolute !important;
  inset:auto !important;
  left:50% !important;
  top:36px !important;
  transform:translateX(-50%) !important;
  width:min(980px, 80vw) !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:5 !important;
  pointer-events:none !important;
}

.home-official-logo{
  display:block !important;
  width:min(780px, 60vw) !important;
  max-width:60vw !important;
  max-height:none !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 3px 10px rgba(255,255,255,.14)) drop-shadow(0 10px 24px rgba(0,0,0,.55)) !important;
}

.home-business-mark{
  position:absolute !important;
  left:50% !important;
  top:57% !important;
  transform:translate(-50%, -50%) !important;
  width:min(840px, 68vw) !important;
  height:250px !important;
  z-index:4 !important;
}

.home-gm-panel{
  position:absolute !important;
  left:auto !important;
  right:34px !important;
  bottom:70px !important;
  transform:none !important;
  width:220px !important;
  padding:0 !important;
  gap:2px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  z-index:6 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  backdrop-filter:none !important;
}

.home-gm-panel::after{
  content:none !important;
  display:none !important;
}

.home-gm-title{
  margin:0 0 2px 0 !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  line-height:1.05 !important;
}

.home-gm-title strong{
  display:none !important;
}

.home-gm-logo{
  display:block !important;
  width:172px !important;
  max-width:172px !important;
  height:auto !important;
  margin:0 auto !important;
  filter:drop-shadow(0 2px 8px rgba(255,218,70,.30)) !important;
}

.home-gm-name{
  color:#fff !important;
  font-size:12px !important;
  letter-spacing:0 !important;
  line-height:1.05 !important;
  margin-top:1px !important;
}

.home-calendar-fab{
  display:block !important;
  position:absolute !important;
  left:50% !important;
  bottom:8px !important;
  transform:translateX(-50%) !important;
  width:74px !important;
  height:74px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent url('/static/icons/home-agenda-hq.svg?v=0.6.61') center/contain no-repeat !important;
  color:transparent !important;
  box-shadow:none !important;
  z-index:7 !important;
  overflow:visible !important;
}

.home-calendar-fab > *,
.home-calendar-fab i,
.home-calendar-fab svg{
  display:none !important;
}

.home-calendar-fab::before,
.home-calendar-fab::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  pointer-events:none;
}

.home-calendar-fab::before{
  width:74px;
  height:74px;
  transform:translate(-50%,-50%) scale(1);
  background:radial-gradient(circle, rgba(255,75,140,.30) 0%, rgba(255,75,140,.16) 42%, rgba(255,75,140,0) 72%);
  animation:agendaAuraPulse 1.9s ease-in-out infinite;
}

.home-calendar-fab::after{
  width:104px;
  height:104px;
  transform:translate(-50%,-50%) scale(.92);
  border:2px solid rgba(255,108,170,.38);
  box-shadow:0 0 18px rgba(255,95,160,.25), 0 0 28px rgba(255,95,160,.18);
  animation:agendaAuraRing 2.4s ease-in-out infinite;
}

@keyframes agendaAuraPulse{
  0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.94)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}
}

@keyframes agendaAuraRing{
  0%,100%{opacity:.38;transform:translate(-50%,-50%) scale(.92)}
  50%{opacity:.88;transform:translate(-50%,-50%) scale(1.10)}
}

@media (prefers-reduced-motion: reduce){
  .home-calendar-fab::before,
  .home-calendar-fab::after{
    animation:none !important;
    opacity:.72 !important;
    transform:translate(-50%,-50%) scale(1) !important;
  }
}

.version-label{
  left:auto !important;
  right:8px !important;
  bottom:8px !important;
  transform:none !important;
  color:#8a8a8a !important;
  font-size:12px !important;
  z-index:8 !important;
}

@media (max-width: 980px){
  .home-logo-zone{top:32px !important;width:92vw !important;}
  .home-official-logo{width:min(92vw, 760px) !important;max-width:92vw !important;}
  .home-business-mark{width:92vw !important;height:228px !important;top:56.5% !important;}
}

@media (max-width: 760px){
  .home-logo-zone{top:26px !important;}
  .home-official-logo{width:min(94vw, 650px) !important;max-width:94vw !important;}
  .home-business-mark{top:58% !important;width:94vw !important;height:180px !important;}
  .home-gm-panel{right:14px !important;bottom:80px !important;width:156px !important;}
  .home-gm-title{font-size:15px !important;}
  .home-gm-logo{width:128px !important;max-width:128px !important;}
  .home-gm-name{font-size:11px !important;}
  .home-calendar-fab{width:66px !important;height:66px !important;bottom:10px !important;}
  .home-calendar-fab::before{width:66px !important;height:66px !important;}
  .home-calendar-fab::after{width:92px !important;height:92px !important;}
}


/* ==========================================================
   v0.6.62 HOME APPROVATA — LOGO CENTRATO / GM RIDOTTO / AURA
   ========================================================== */

/* Neutralizza definitivamente i vecchi offset del logo. */
.content.home-mode #view-home .home-logo-zone{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:38px !important;
  bottom:auto !important;
  width:100% !important;
  height:250px !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  z-index:5 !important;
}

.content.home-mode #view-home .home-official-logo{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  display:block !important;
  width:min(790px, 58vw) !important;
  max-width:790px !important;
  min-width:0 !important;
  height:auto !important;
  max-height:242px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto !important;
}

/* BUSINESS resta grande e perfettamente centrato. */
.content.home-mode #view-home .home-business-mark{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:58% !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  width:min(850px,68vw) !important;
  height:245px !important;
  margin:0 !important;
  z-index:4 !important;
}

/* GM originale ridotto, completo e staccato dai bordi. */
.content.home-mode #view-home .home-gm-panel{
  position:absolute !important;
  left:auto !important;
  right:30px !important;
  top:auto !important;
  bottom:78px !important;
  transform:none !important;
  width:176px !important;
  min-width:176px !important;
  max-width:176px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  gap:2px !important;
  overflow:visible !important;
  z-index:6 !important;
}

.content.home-mode #view-home .home-gm-title{
  display:block !important;
  font-size:15px !important;
  line-height:1.05 !important;
  margin:0 0 2px !important;
}

.content.home-mode #view-home .home-gm-title strong{
  display:none !important;
}

.content.home-mode #view-home .home-gm-logo{
  display:block !important;
  width:146px !important;
  max-width:146px !important;
  height:auto !important;
  margin:0 auto !important;
}

.content.home-mode #view-home .home-gm-name{
  display:block !important;
  font-size:11px !important;
  line-height:1.05 !important;
  margin-top:1px !important;
  white-space:nowrap !important;
}

/* Agenda: aura continua realmente animata. */
.content.home-mode #view-home .home-calendar-fab{
  animation:agendaButtonBreath662 1.55s ease-in-out infinite !important;
  filter:drop-shadow(0 0 9px rgba(255,255,255,.60))
         drop-shadow(0 0 20px rgba(255,35,105,.58)) !important;
}

.content.home-mode #view-home .home-calendar-fab::before{
  animation:agendaAuraPulse662 1.55s ease-in-out infinite !important;
}

.content.home-mode #view-home .home-calendar-fab::after{
  animation:agendaAuraRing662 1.95s ease-out infinite !important;
}

@keyframes agendaButtonBreath662{
  0%,100%{
    transform:translateX(-50%) scale(1);
    filter:drop-shadow(0 0 7px rgba(255,255,255,.45))
           drop-shadow(0 0 14px rgba(255,35,105,.42));
  }
  50%{
    transform:translateX(-50%) scale(1.065);
    filter:drop-shadow(0 0 15px rgba(255,255,255,.92))
           drop-shadow(0 0 32px rgba(255,35,105,.95));
  }
}

@keyframes agendaAuraPulse662{
  0%,100%{opacity:.28;transform:translate(-50%,-50%) scale(.82);}
  50%{opacity:.96;transform:translate(-50%,-50%) scale(1.20);}
}

@keyframes agendaAuraRing662{
  0%{opacity:.72;transform:translate(-50%,-50%) scale(.78);}
  75%{opacity:.18;transform:translate(-50%,-50%) scale(1.34);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.46);}
}

/* L'utente la vuole animata: non disattivare per reduced-motion. */
@media (prefers-reduced-motion: reduce){
  .content.home-mode #view-home .home-calendar-fab{
    animation:agendaButtonBreath662 1.55s ease-in-out infinite !important;
  }
  .content.home-mode #view-home .home-calendar-fab::before{
    animation:agendaAuraPulse662 1.55s ease-in-out infinite !important;
  }
  .content.home-mode #view-home .home-calendar-fab::after{
    animation:agendaAuraRing662 1.95s ease-out infinite !important;
  }
}

@media (max-width:1100px){
  .content.home-mode #view-home .home-logo-zone{
    top:34px !important;
    height:225px !important;
  }
  .content.home-mode #view-home .home-official-logo{
    width:min(720px,68vw) !important;
    max-width:720px !important;
    max-height:220px !important;
  }
  .content.home-mode #view-home .home-business-mark{
    width:min(780px,72vw) !important;
  }
  .content.home-mode #view-home .home-gm-panel{
    right:18px !important;
    width:160px !important;
    min-width:160px !important;
    max-width:160px !important;
  }
  .content.home-mode #view-home .home-gm-logo{
    width:132px !important;
    max-width:132px !important;
  }
}

@media (max-width:760px){
  .content.home-mode #view-home .home-logo-zone{
    top:24px !important;
    height:190px !important;
  }
  .content.home-mode #view-home .home-official-logo{
    width:90vw !important;
    max-width:90vw !important;
    max-height:185px !important;
  }
  .content.home-mode #view-home .home-business-mark{
    top:57% !important;
    width:92vw !important;
    height:178px !important;
  }
  .content.home-mode #view-home .home-gm-panel{
    right:8px !important;
    bottom:78px !important;
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
  }
  .content.home-mode #view-home .home-gm-title{font-size:12px !important;}
  .content.home-mode #view-home .home-gm-logo{
    width:110px !important;
    max-width:110px !important;
  }
  .content.home-mode #view-home .home-gm-name{font-size:9px !important;}
}

/* ==========================================================
   v0.6.63 HOME — POSIZIONI SCREENSHOT APPROVATO / NO AURA LOGO
   ========================================================== */

/* LOGO CATALANO: posizione/dimensioni esatte del mockup approvato. */
.content.home-mode #view-home .home-logo-zone{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:101px !important;
  bottom:auto !important;
  width:100% !important;
  height:206px !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  overflow:visible !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.content.home-mode #view-home .home-official-logo{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  display:block !important;
  width:790px !important;
  max-width:min(790px, 82vw) !important;
  height:auto !important;
  max-height:206px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto !important;
  filter:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* BUSINESS: esattamente centrato come nello screenshot approvato. */
.content.home-mode #view-home .home-business-mark{
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  top:54.4% !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  width:816px !important;
  max-width:78vw !important;
  height:312px !important;
  margin:0 !important;
  z-index:4 !important;
}

/* GM: piccolo, completo e appoggiato in basso a destra come nel mockup. */
.content.home-mode #view-home .home-gm-panel{
  position:absolute !important;
  left:auto !important;
  right:18px !important;
  top:auto !important;
  bottom:8px !important;
  transform:none !important;
  width:184px !important;
  min-width:184px !important;
  max-width:184px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  gap:2px !important;
  overflow:visible !important;
  z-index:6 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.content.home-mode #view-home .home-gm-panel::after{
  content:none !important;
  display:none !important;
}
.content.home-mode #view-home .home-gm-title{
  display:block !important;
  margin:0 0 2px !important;
  font-size:15px !important;
  line-height:1.05 !important;
  font-weight:400 !important;
  color:#fff !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}
.content.home-mode #view-home .home-gm-title strong{display:none !important;}
.content.home-mode #view-home .home-gm-logo{
  display:block !important;
  width:146px !important;
  max-width:146px !important;
  height:auto !important;
  margin:0 auto !important;
  filter:none !important;
}
.content.home-mode #view-home .home-gm-name{
  display:block !important;
  margin:1px 0 0 !important;
  font-size:11px !important;
  line-height:1.05 !important;
  color:#fff !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}

/* Mantiene l'aura animata SOLO sull'agendina. */
.content.home-mode #view-home .home-calendar-fab{
  animation:agendaButtonBreath663 1.55s ease-in-out infinite !important;
}
.content.home-mode #view-home .home-calendar-fab::before{
  animation:agendaAuraPulse663 1.55s ease-in-out infinite !important;
}
.content.home-mode #view-home .home-calendar-fab::after{
  animation:agendaAuraRing663 1.95s ease-out infinite !important;
}
@keyframes agendaButtonBreath663{
  0%,100%{transform:translateX(-50%) scale(1);filter:drop-shadow(0 0 7px rgba(255,255,255,.45)) drop-shadow(0 0 14px rgba(255,35,105,.42));}
  50%{transform:translateX(-50%) scale(1.06);filter:drop-shadow(0 0 15px rgba(255,255,255,.92)) drop-shadow(0 0 31px rgba(255,35,105,.92));}
}
@keyframes agendaAuraPulse663{
  0%,100%{opacity:.30;transform:translate(-50%,-50%) scale(.84);}
  50%{opacity:.96;transform:translate(-50%,-50%) scale(1.18);}
}
@keyframes agendaAuraRing663{
  0%{opacity:.70;transform:translate(-50%,-50%) scale(.80);}
  75%{opacity:.18;transform:translate(-50%,-50%) scale(1.32);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.44);}
}

@media (max-width:1200px){
  .content.home-mode #view-home .home-logo-zone{top:72px !important;height:190px !important;}
  .content.home-mode #view-home .home-official-logo{width:min(720px,80vw) !important;max-height:190px !important;}
  .content.home-mode #view-home .home-business-mark{width:min(760px,80vw) !important;height:284px !important;}
  .content.home-mode #view-home .home-gm-panel{right:12px !important;width:164px !important;min-width:164px !important;max-width:164px !important;}
  .content.home-mode #view-home .home-gm-logo{width:132px !important;max-width:132px !important;}
}
@media (max-width:760px){
  .content.home-mode #view-home .home-logo-zone{top:38px !important;height:165px !important;}
  .content.home-mode #view-home .home-official-logo{width:90vw !important;max-width:90vw !important;max-height:165px !important;}
  .content.home-mode #view-home .home-business-mark{top:56% !important;width:92vw !important;height:190px !important;}
  .content.home-mode #view-home .home-gm-panel{right:6px !important;bottom:8px !important;width:128px !important;min-width:128px !important;max-width:128px !important;}
  .content.home-mode #view-home .home-gm-title{font-size:12px !important;}
  .content.home-mode #view-home .home-gm-logo{width:106px !important;max-width:106px !important;}
  .content.home-mode #view-home .home-gm-name{font-size:9px !important;}
}


/* ==========================================================
   v0.6.64 — SOLO GM: RIPRISTINO LAYOUT DESTRA
   NON TOCCA LOGO CATALANO / BUSINESS / AGENDA
   ========================================================== */
.content.home-mode #view-home .home-gm-panel{
  right:18px !important;
  bottom:78px !important;
  width:184px !important;
  min-width:184px !important;
  max-width:184px !important;
  overflow:visible !important;
}

.content.home-mode #view-home .home-gm-title{
  display:block !important;
  font-size:15px !important;
  margin:0 0 2px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.content.home-mode #view-home .home-gm-logo{
  display:block !important;
  width:146px !important;
  max-width:146px !important;
  height:auto !important;
  margin:0 auto !important;
}

.content.home-mode #view-home .home-gm-name{
  display:block !important;
  font-size:11px !important;
  margin:1px 0 0 !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

@media (max-width:1200px){
  .content.home-mode #view-home .home-gm-panel{
    right:12px !important;
    bottom:78px !important;
    width:164px !important;
    min-width:164px !important;
    max-width:164px !important;
  }
  .content.home-mode #view-home .home-gm-logo{
    width:132px !important;
    max-width:132px !important;
  }
}

@media (max-width:760px){
  .content.home-mode #view-home .home-gm-panel{
    right:6px !important;
    bottom:76px !important;
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
  }
  .content.home-mode #view-home .home-gm-title{font-size:12px !important;}
  .content.home-mode #view-home .home-gm-logo{
    width:106px !important;
    max-width:106px !important;
  }
  .content.home-mode #view-home .home-gm-name{font-size:9px !important;}
}

/* ==========================================================
   v0.6.66 — TIMER FICHES SPOSTATO A SINISTRA (SOLO LISTA PRINCIPALE)
   ========================================================== */
#view-fiches .fiche-row-actions{
  overflow:visible !important;
}

#view-fiches .fiche-timer-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  min-width:30px;
  margin-right:10px;
  position:relative;
  z-index:5;
}

#view-fiches .fiche-timer-btn{
  width:30px;
  min-width:30px;
  height:30px;
  padding:0;
  border:1px solid #c7c8cc;
  border-radius:16px;
  background:#fff;
  color:#6d717a;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  transition:width .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .12s ease;
  overflow:hidden;
  white-space:nowrap;
}

#view-fiches .fiche-timer-btn:hover{transform:translateY(-1px)}
#view-fiches .fiche-timer-btn:active{transform:translateY(0) scale(.97)}

#view-fiches .fiche-timer-btn.expanded{
  width:92px;
  min-width:92px;
  padding:0 7px;
  border-color:#d51152;
  color:#b0003d;
}

#view-fiches .fiche-timer-clock{
  width:16px;
  height:16px;
  min-width:16px;
  border:2px solid currentColor;
  border-radius:50%;
  position:relative;
  display:block;
  box-sizing:border-box;
}
#view-fiches .fiche-timer-clock::before{
  content:"";
  position:absolute;
  width:2px;
  height:5px;
  left:5px;
  top:2px;
  background:currentColor;
  border-radius:2px;
  transform-origin:bottom center;
}
#view-fiches .fiche-timer-clock::after{
  content:"";
  position:absolute;
  width:5px;
  height:2px;
  left:6px;
  top:7px;
  background:currentColor;
  border-radius:2px;
}

#view-fiches .fiche-timer-time{
  display:none;
  min-width:42px;
  text-align:center;
  font-variant-numeric:tabular-nums;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
}
#view-fiches .fiche-timer-btn.expanded .fiche-timer-time{display:inline-block}

#view-fiches .fiche-timer-state{
  display:none;
  width:10px;
  font-size:9px;
  line-height:1;
  font-weight:800;
}
#view-fiches .fiche-timer-btn.expanded .fiche-timer-state{display:inline-block}

#view-fiches .fiche-timer-btn.running:not(.warn):not(.late){
  background:#fff4f8;
  box-shadow:0 0 0 2px rgba(213,17,82,.08),0 0 8px rgba(213,17,82,.14);
}

/* 25:00 -> giallo evidente */
#view-fiches .fiche-timer-btn.warn{
  color:#6b5100 !important;
  background:#ffe969 !important;
  border-color:#e2ad00 !important;
  box-shadow:0 0 0 3px rgba(255,209,0,.18),0 0 14px rgba(255,202,0,.72) !important;
  animation:ficheTimerYellowPulse 1.15s ease-in-out infinite;
}

/* 30:00+ -> rosso persistente e timer continua */
#view-fiches .fiche-timer-btn.late{
  color:#fff !important;
  background:#d71945 !important;
  border-color:#b00031 !important;
  box-shadow:0 0 0 3px rgba(215,25,69,.17),0 0 17px rgba(215,25,69,.78) !important;
  animation:ficheTimerRedPulse 1s ease-in-out infinite;
}

@keyframes ficheTimerYellowPulse{
  0%,100%{box-shadow:0 0 0 2px rgba(255,209,0,.12),0 0 8px rgba(255,202,0,.42)}
  50%{box-shadow:0 0 0 4px rgba(255,209,0,.24),0 0 18px rgba(255,202,0,.92)}
}
@keyframes ficheTimerRedPulse{
  0%,100%{box-shadow:0 0 0 2px rgba(215,25,69,.12),0 0 10px rgba(215,25,69,.48)}
  50%{box-shadow:0 0 0 4px rgba(215,25,69,.24),0 0 20px rgba(215,25,69,.95)}
}

#view-fiches .fiche-timer-reset{
  width:24px;
  min-width:24px;
  height:24px;
  border:0;
  border-radius:50%;
  background:#f0f0f2;
  color:#777b83;
  display:grid;
  place-items:center;
  padding:0;
  font-size:15px;
  line-height:1;
  cursor:pointer;
}
#view-fiches .fiche-timer-reset:hover{background:#e5e5e8;color:#333}

@media(max-width:760px){
  #view-fiches .fiche-timer-btn.expanded{width:84px;min-width:84px;padding:0 5px;}
  #view-fiches .fiche-timer-time{font-size:11px;min-width:39px;}
  #view-fiches .fiche-timer-wrap{gap:2px;margin-right:7px;}
  #view-fiches .fiche-timer-reset{width:22px;min-width:22px;height:22px;font-size:13px;}
}


/* ==========================================================
   v0.6.67 — TIMER 00:00 FIX + PNG UI HQ
   ========================================================== */

/* TIMER FICHE: override definitivo dei vecchi generic button !important */
#view-fiches .fiche-row-actions{
  overflow:visible !important;
  gap:8px !important;
}

#view-fiches .fiche-timer-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:4px !important;
  min-width:84px !important;
  margin-right:12px !important;
  flex:0 0 auto !important;
  overflow:visible !important;
}

#view-fiches .fiche-row-actions .fiche-timer-btn{
  width:84px !important;
  min-width:84px !important;
  max-width:none !important;
  height:30px !important;
  min-height:30px !important;
  padding:0 7px !important;
  border:1px solid #111 !important;
  border-radius:7px !important;
  background:#111 !important;
  color:#fff !important;
  box-shadow:0 1px 4px rgba(0,0,0,.16) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  overflow:visible !important;
  white-space:nowrap !important;
  transition:width .16s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}

#view-fiches .fiche-row-actions .fiche-timer-btn.expanded,
#view-fiches .fiche-row-actions .fiche-timer-btn.running{
  width:92px !important;
  min-width:92px !important;
}

#view-fiches .fiche-timer-png{
  display:block !important;
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  object-fit:contain !important;
  flex:0 0 17px !important;
}

#view-fiches .fiche-timer-clock{
  display:none !important;
}

#view-fiches .fiche-timer-time{
  display:inline-block !important;
  width:45px !important;
  min-width:45px !important;
  max-width:45px !important;
  flex:0 0 45px !important;
  text-align:center !important;
  color:inherit !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-variant-numeric:tabular-nums !important;
  font-feature-settings:"tnum" 1 !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  line-height:1 !important;
  overflow:visible !important;
  white-space:nowrap !important;
}

#view-fiches .fiche-timer-state{
  display:none !important;
}

/* standard = nero */
#view-fiches .fiche-row-actions .fiche-timer-btn.running:not(.warn):not(.late),
#view-fiches .fiche-row-actions .fiche-timer-btn.paused:not(.warn):not(.late){
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
  box-shadow:0 1px 4px rgba(0,0,0,.16) !important;
}

/* 25:00 -> giallo */
#view-fiches .fiche-row-actions .fiche-timer-btn.warn{
  background:#ffd740 !important;
  border-color:#d7a900 !important;
  color:#111 !important;
  box-shadow:0 0 0 2px rgba(255,215,64,.22),0 0 13px rgba(255,196,0,.68) !important;
  animation:ficheTimerYellowPulse 1.15s ease-in-out infinite !important;
}

/* 30:00+ -> rosso e continua a contare */
#view-fiches .fiche-row-actions .fiche-timer-btn.late{
  background:#d71945 !important;
  border-color:#a9002f !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(215,25,69,.20),0 0 15px rgba(215,25,69,.72) !important;
  animation:ficheTimerRedPulse 1s ease-in-out infinite !important;
}

#view-fiches .fiche-row-actions .fiche-timer-reset{
  width:24px !important;
  min-width:24px !important;
  height:24px !important;
  min-height:24px !important;
  border-radius:50% !important;
  background:#f0f0f2 !important;
  color:#666 !important;
}

/* HQ PNG sizing */
.sa-action-png{
  display:block !important;
  width:29px !important;
  height:29px !important;
  object-fit:contain !important;
}

.sa-client-avatar-png{
  display:block !important;
  width:36px !important;
  height:36px !important;
  object-fit:contain !important;
}

.round-client-icon{
  border:0 !important;
  width:40px !important;
  height:40px !important;
}

.agenda-top-icons-hq button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 3px !important;
}

.agenda-top-icons-hq button img{
  display:block !important;
  width:30px !important;
  height:30px !important;
  object-fit:contain !important;
}

.agenda-top-icons-hq .badge-round img{
  width:31px !important;
  height:31px !important;
}

.agenda-top-icons-hq .agenda-profile-icon img{
  width:29px !important;
  height:29px !important;
}

/* New nav masks: force cache refresh while preserving active/inactive currentColor */
.bottom-nav button:nth-child(1) span{
  -webkit-mask-image:url('/static/icons/nav-agenda-salonapp-transparent-hq.png?v=0.6.67') !important;
  mask-image:url('/static/icons/nav-agenda-salonapp-transparent-hq.png?v=0.6.67') !important;
}
.bottom-nav button:nth-child(2) span{
  -webkit-mask-image:url('/static/icons/nav-clients-salonapp-transparent-hq.png?v=0.6.67') !important;
  mask-image:url('/static/icons/nav-clients-salonapp-transparent-hq.png?v=0.6.67') !important;
}
.bottom-nav button:nth-child(3) span{
  -webkit-mask-image:url('/static/icons/nav-fiches-salonapp-transparent-hq.png?v=0.6.67') !important;
  mask-image:url('/static/icons/nav-fiches-salonapp-transparent-hq.png?v=0.6.67') !important;
}
.bottom-nav button:nth-child(4) span{
  -webkit-mask-image:url('/static/icons/nav-reports-salonapp-transparent-hq.png?v=0.6.67') !important;
  mask-image:url('/static/icons/nav-reports-salonapp-transparent-hq.png?v=0.6.67') !important;
}

@media(max-width:760px){
  #view-fiches .fiche-timer-wrap{
    min-width:80px !important;
    margin-right:8px !important;
  }
  #view-fiches .fiche-row-actions .fiche-timer-btn{
    width:80px !important;
    min-width:80px !important;
    padding:0 5px !important;
  }
  #view-fiches .fiche-row-actions .fiche-timer-btn.expanded,
  #view-fiches .fiche-row-actions .fiche-timer-btn.running{
    width:86px !important;
    min-width:86px !important;
  }
  #view-fiches .fiche-timer-time{
    width:43px !important;
    min-width:43px !important;
    max-width:43px !important;
    flex-basis:43px !important;
    font-size:11px !important;
  }
  #view-fiches .fiche-timer-png{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    flex-basis:15px !important;
  }
}


/* ==========================================================
   v0.6.68 — REPORT CALENDARIO SALONAPP PARITY
   ========================================================== */
.report-calendar-dialog{width:360px!important;max-width:92vw!important;height:600px!important;max-height:82vh!important;padding:0!important;border:0!important;border-radius:10px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 22px 60px rgba(0,0,0,.34)!important}
.report-calendar-form{width:100%!important;height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;background:#fff!important}
.report-calendar-head{height:50px!important;min-height:50px!important;display:grid!important;grid-template-columns:46px 1fr 46px!important;align-items:center!important;padding:0!important;border-bottom:1px solid #eee!important;background:#fff!important;color:var(--pink)!important}
.report-calendar-head>button{width:46px!important;height:50px!important;min-width:46px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--pink)!important;font-size:25px!important;display:grid!important;place-items:center!important}
.report-calendar-title{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;color:var(--pink)!important}
.report-calendar-title img{width:22px!important;height:22px!important;object-fit:contain!important}
.report-calendar-title h3{margin:0!important;padding:0!important;font-size:17px!important;line-height:1!important;font-weight:400!important;color:var(--pink)!important;white-space:nowrap!important}
.report-calendar-confirm{font-size:24px!important;font-weight:300!important}
.report-calendar-body{position:relative!important;flex:1 1 auto!important;min-height:0!important;background:#fff!important;overflow:hidden!important}
.report-hidden-date,.report-calendar-hidden-controls{display:none!important}
.report-calendar-selection{height:34px!important;min-height:34px!important;padding:0 14px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#777!important;font-size:11px!important;border-bottom:1px solid #f2f2f2!important;background:#fff!important}
.report-calendar-scroll{height:calc(100% - 34px)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:auto!important;scrollbar-color:#888 transparent!important;background:#fff!important;scroll-behavior:smooth!important}
.report-calendar-scroll::-webkit-scrollbar{width:8px!important}.report-calendar-scroll::-webkit-scrollbar-track{background:transparent!important}.report-calendar-scroll::-webkit-scrollbar-thumb{background:#8a8a8a!important;border-radius:8px!important}
.report-cal-month{padding:8px 14px 14px!important;background:#fff!important}.report-cal-month h4{margin:0!important;height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-family:Arial,Helvetica,sans-serif!important;font-size:15px!important;line-height:1!important;font-weight:700!important;color:#555!important}
.report-cal-week,.report-cal-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;align-items:center!important}.report-cal-week{height:30px!important;border-bottom:1px solid #e6e6e6!important;color:#707070!important;font-family:Arial,Helvetica,sans-serif!important;font-size:10px!important;text-align:center!important}.report-cal-grid{padding-top:7px!important;row-gap:2px!important}
.report-cal-day{position:relative!important;width:100%!important;height:43px!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#333!important;font-family:Arial,Helvetica,sans-serif!important;font-size:12px!important;font-weight:400!important;display:grid!important;place-items:center!important;cursor:pointer!important;z-index:1!important;overflow:visible!important}.report-cal-day.empty{pointer-events:none!important}
.report-cal-day.in-range::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:4px!important;bottom:4px!important;background:#f8c8d8!important;z-index:-1!important}
.report-cal-day.range-start::after,.report-cal-day.range-end::after{content:""!important;position:absolute!important;width:42px!important;height:42px!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;border-radius:50%!important;z-index:-1!important}
.report-cal-day.range-start::after{background:#d50047!important}.report-cal-day.range-start{color:#fff!important;font-weight:600!important}.report-cal-day.range-end::after{background:#d50047!important;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px #d50047!important}.report-cal-day.range-end{color:#fff!important;font-weight:600!important}.report-cal-day.range-single::after{background:#d50047!important;box-shadow:0 0 0 2px #d50047!important}.report-cal-day.today:not(.range-start):not(.range-end){color:var(--pink)!important;font-weight:700!important}.report-cal-month+.report-cal-month{border-top:1px solid #f4f4f4!important;padding-top:12px!important}
body.theme-dark .report-calendar-dialog,body.theme-dark .report-calendar-form,body.theme-dark .report-calendar-head,body.theme-dark .report-calendar-body,body.theme-dark .report-calendar-selection,body.theme-dark .report-calendar-scroll,body.theme-dark .report-cal-month{background:#fff!important;color:#333!important}
@media(max-width:760px){.report-calendar-dialog{width:350px!important;height:570px!important;max-height:84vh!important}.report-cal-day{height:40px!important}.report-cal-day.range-start::after,.report-cal-day.range-end::after{width:39px!important;height:39px!important}}


/* ==========================================================
   v0.6.69 — REPORT CALENDAR HEADER + SELECTION CLEAN FIX
   ========================================================== */

/* Layout desktop più ampio e pulito come riferimento approvato */
.report-calendar-dialog{
  width:510px !important;
  max-width:94vw !important;
  height:610px !important;
  max-height:84vh !important;
  padding:0 !important;
  border:0 !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 22px 58px rgba(0,0,0,.30) !important;
}

/* Header: X a sinistra, titolo realmente centrato, spunta a destra */
.report-calendar-head{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 62px !important;
  background:#fff !important;
  border-bottom:1px solid #ececef !important;
  box-shadow:0 2px 8px rgba(0,0,0,.06) !important;
  z-index:30 !important;
}

.report-calendar-head .report-calendar-close,
.report-calendar-head .report-calendar-confirm{
  position:absolute !important;
  top:0 !important;
  bottom:auto !important;
  width:58px !important;
  min-width:58px !important;
  height:58px !important;
  min-height:58px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:#fff !important;
  color:var(--pink) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:29px !important;
  font-weight:300 !important;
  line-height:1 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  z-index:35 !important;
  transform:none !important;
}

.report-calendar-head .report-calendar-close{
  left:0 !important;
  right:auto !important;
}

.report-calendar-head .report-calendar-confirm{
  right:0 !important;
  left:auto !important;
}

.report-calendar-head .report-calendar-close:hover,
.report-calendar-head .report-calendar-confirm:hover{
  background:#fff4f8 !important;
}

.report-calendar-head .report-calendar-close:active,
.report-calendar-head .report-calendar-confirm:active{
  background:#fde8ef !important;
}

.report-calendar-title{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  pointer-events:none !important;
}

.report-calendar-title img{
  width:24px !important;
  height:24px !important;
  object-fit:contain !important;
}

.report-calendar-title h3{
  margin:0 !important;
  padding:0 !important;
  font-size:19px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:var(--pink) !important;
  white-space:nowrap !important;
}

.report-calendar-selection{
  height:38px !important;
  min-height:38px !important;
  font-size:12px !important;
  color:#777 !important;
  border-bottom:1px solid #f0f0f2 !important;
}

.report-calendar-scroll{
  height:calc(100% - 38px) !important;
}

.report-cal-month{
  padding:10px 16px 16px !important;
}

.report-cal-month h4{
  height:42px !important;
  font-size:16px !important;
  color:#4c4c4c !important;
}

.report-cal-week{
  height:32px !important;
  font-size:10px !important;
}

.report-cal-grid{
  padding-top:8px !important;
  row-gap:4px !important;
}

.report-cal-day{
  height:48px !important;
  min-height:48px !important;
  font-size:13px !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

/* Fascia del periodo perfettamente contenuta nella cella */
.report-cal-day.in-range::before{
  left:0 !important;
  right:0 !important;
  top:5px !important;
  bottom:5px !important;
  background:#f6c6d6 !important;
  border:0 !important;
  box-shadow:none !important;
  z-index:-2 !important;
}

/* Bollini start/end: puliti, senza alone rosso che esce dalla cella */
.report-cal-day.range-start::after,
.report-cal-day.range-end::after,
.report-cal-day.range-single::after{
  content:"" !important;
  position:absolute !important;
  width:38px !important;
  height:38px !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:#d50047 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  z-index:-1 !important;
  box-sizing:border-box !important;
}

.report-cal-day.range-start{
  color:#fff !important;
  font-weight:600 !important;
}

.report-cal-day.range-end{
  color:#fff !important;
  font-weight:600 !important;
}

/* Fine periodo: doppio bordo netto INTERNO, niente glow esterno */
.report-cal-day.range-end::after{
  border:3px solid #fff !important;
  box-shadow:inset 0 0 0 2px #d50047 !important;
}

.report-cal-day.range-single::after{
  border:0 !important;
  box-shadow:none !important;
}

.report-cal-day.today:not(.range-start):not(.range-end){
  color:var(--pink) !important;
  font-weight:700 !important;
}

.report-cal-day:focus-visible{
  outline:2px solid rgba(213,0,71,.42) !important;
  outline-offset:-3px !important;
  border-radius:6px !important;
}

@media(max-width:760px){
  .report-calendar-dialog{
    width:390px !important;
    max-width:94vw !important;
    height:580px !important;
  }
  .report-calendar-head{
    height:56px !important;
    min-height:56px !important;
    padding:0 56px !important;
  }
  .report-calendar-head .report-calendar-close,
  .report-calendar-head .report-calendar-confirm{
    width:56px !important;
    min-width:56px !important;
    height:56px !important;
    min-height:56px !important;
  }
  .report-calendar-title h3{font-size:17px !important;}
  .report-cal-day{height:43px !important;min-height:43px !important;}
  .report-cal-day.range-start::after,
  .report-cal-day.range-end::after,
  .report-cal-day.range-single::after{width:36px !important;height:36px !important;}
}


/* ==========================================================
   v0.6.70 — REPORT SCROLLBAR DESTRA FUNZIONANTE
   ========================================================== */

/* La pagina Report occupa esattamente l'area utile tra header e bottom-nav.
   Il contenitore esterno NON deve rubare lo scroll al report interno. */
#view-reports.active-view{
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
  position:relative !important;
}

/* Base / gate possono scorrere normalmente quando necessario */
#view-reports #reportBase,
#view-reports #reportGate{
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}

/* Dettagli Report: QUESTO è lo scroller verticale reale visibile a destra */
#view-reports #reportDetail,
#view-reports #reportClientDetail{
  position:relative !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  scrollbar-gutter:stable !important;
  scrollbar-width:auto !important;
  scrollbar-color:#8b8b8b #f2f2f2 !important;
  background:#fff !important;
}

/* Scrollbar Chrome/Edge: area cliccabile e trascinabile */
#view-reports #reportDetail::-webkit-scrollbar,
#view-reports #reportClientDetail::-webkit-scrollbar{
  width:12px !important;
}

#view-reports #reportDetail::-webkit-scrollbar-track,
#view-reports #reportClientDetail::-webkit-scrollbar-track{
  background:#f2f2f2 !important;
  border-left:1px solid #e3e3e3 !important;
}

#view-reports #reportDetail::-webkit-scrollbar-thumb,
#view-reports #reportClientDetail::-webkit-scrollbar-thumb{
  background:#8b8b8b !important;
  border:3px solid #f2f2f2 !important;
  border-radius:10px !important;
  min-height:44px !important;
}

#view-reports #reportDetail::-webkit-scrollbar-thumb:hover,
#view-reports #reportClientDetail::-webkit-scrollbar-thumb:hover{
  background:#666 !important;
}

/* Evita che la tabella crei un secondo scroll verticale concorrente.
   Lo scroll orizzontale della tabella resta invece disponibile. */
#view-reports .report-table-wrap{
  overflow-x:auto !important;
  overflow-y:visible !important;
  max-height:none !important;
  height:auto !important;
}

/* Non permettere a elementi interni di coprire la zona scrollbar */
#view-reports .report-detail-strip,
#view-reports .report-general,
#view-reports .report-daily-filters,
#view-reports .report-client-count,
#view-reports .report-table-wrap{
  max-width:100% !important;
}

/* Mantiene i controlli in alto leggibili durante lo scorrimento */
#view-reports #reportDetail .report-detail-strip,
#view-reports #reportClientDetail .report-detail-strip{
  position:sticky !important;
  top:0 !important;
  z-index:12 !important;
  background:#fff !important;
}

/* Desktop: barra sempre chiaramente visibile */
@media (min-width:761px){
  #view-reports #reportDetail,
  #view-reports #reportClientDetail{
    padding-right:0 !important;
  }
}


/* ==========================================================
   v0.6.71 — FICHES ICONE ORIGINALI + AGENDA NAV PIÙ GRADEVOLE
   ========================================================== */

/* Barra riepilogo Fiches: ripristina l'impatto visivo dell'originale */
#view-fiches .fiche-totals-bar{
  height:41px !important;
  min-height:41px !important;
  padding:0 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  background:#fff !important;
}
#view-fiches .fiche-footer-metric{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  min-width:0 !important;
  white-space:nowrap !important;
}
#view-fiches .fiche-footer-metric i{
  display:inline-block !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:0 0 auto !important;
  vertical-align:middle !important;
}
#view-fiches .mini-calendar-icon,
#view-fiches .mini-list-icon{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  image-rendering:auto !important;
}
#view-fiches .mini-calendar-icon{
  background-image:url('/static/icons/ui-agenda-calendar-hq.png?v=0.6.71') !important;
}
#view-fiches .mini-list-icon{
  background-image:url('/static/icons/footer-list-salonapp-transparent-hq.png?v=0.6.71') !important;
}
#view-fiches .fiche-footer-metric b,
#view-fiches .fiche-total-separator{
  font-size:16px !important;
  line-height:1 !important;
  color:#111 !important;
}
#view-fiches .fiche-total-separator{
  border-left:1px solid #8f96a3 !important;
  padding-left:9px !important;
  margin-left:1px !important;
}
#view-fiches .fiche-footer-metric.collected{
  justify-content:flex-end !important;
}
body.theme-dark #view-fiches .fiche-totals-bar{
  background:var(--theme-surface) !important;
}
body.theme-dark #view-fiches .fiche-footer-metric b,
body.theme-dark #view-fiches .fiche-total-separator{
  color:#f3f3f6 !important;
}

/* Icona Agenda in bottom-nav: elimina il look grigio spento e usa una PNG più gradevole */
.bottom-nav button:nth-child(1) span{
  width:26px !important;
  height:26px !important;
  background:transparent url('/static/icons/ui-agenda-calendar-hq.png?v=0.6.71') center/contain no-repeat !important;
  -webkit-mask:none !important;
  mask:none !important;
}
.bottom-nav button:nth-child(1).active span{
  transform:scale(1.03) !important;
}
.bottom-nav button:nth-child(1){
  color:#8b8b8b !important;
}
.bottom-nav button:nth-child(1).active{
  color:var(--pink) !important;
}


/* ==========================================================
   v0.6.72 — FICHES MOBILE PARITY + TIMER MULTI-DISPOSITIVO
   ========================================================== */
@media (max-width:760px){
  #view-fiches{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:#fff!important}
  #view-fiches .fiche-toolbar{flex:0 0 58px!important;height:58px!important;min-height:58px!important;padding:5px 10px 4px!important;background:#fff!important;border-bottom:0!important}
  #view-fiches .fiche-toolbar .salon-search{height:47px!important;margin:0 8px 0 0!important;padding:0 13px!important;border:1px solid #c4c4c9!important;border-radius:10px!important;background:#f7f7f8!important}
  #view-fiches .fiche-toolbar .salon-search input{font-size:18px!important;line-height:1!important}
  #view-fiches .fiche-toolbar-person{flex:0 0 38px!important;width:38px!important;height:44px!important;margin:0!important}
  #view-fiches .toolbar-client-native{width:31px!important;height:37px!important;object-fit:contain!important}
  #view-fiches .fiche-period-summary{flex:0 0 54px!important;height:54px!important;min-height:54px!important;padding:0 14px 0 9px!important;font-size:19px!important;border-top:0!important;border-bottom:1px solid #d7d7dc!important;box-shadow:0 5px 11px rgba(0,0,0,.08)!important;background:#fff!important}
  #view-fiches .fiche-period-actions{gap:15px!important}
  #view-fiches .period-calendar-btn{width:38px!important;height:40px!important;padding:3px!important}
  #view-fiches .period-calendar-btn img{width:30px!important;height:30px!important;object-fit:contain!important}
  #view-fiches .global-lock-btn{width:34px!important;height:40px!important}
  #view-fiches .fiche-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;background:#fff!important}
  #view-fiches .fiche-slide,#view-fiches .fiche-row{min-height:92px!important;height:92px!important}
  #view-fiches .fiche-row{padding:7px 9px 7px 13px!important;gap:10px!important;border-bottom:1px solid #c9c9ce!important;background:#fff!important}
  #view-fiches .salon-fiche-icon{width:61px!important;height:61px!important;flex:0 0 61px!important}
  #view-fiches .salon-fiche-icon .fiche-list-png{width:60px!important;height:60px!important;object-fit:contain!important}
  #view-fiches .fiche-main{flex:1 1 auto!important;min-width:0!important;height:76px!important;justify-content:center!important;gap:1px!important}
  #view-fiches .fiche-row .fiche-main b{font-size:18px!important;line-height:1.10!important;font-weight:400!important;color:#2d3142!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #view-fiches .fiche-date-line{font-size:12px!important;line-height:1.12!important;color:#666d78!important}
  #view-fiches .fiche-price{margin-top:4px!important;min-width:58px!important;min-height:27px!important;padding:4px 11px!important;border-radius:5px!important;font-size:15px!important;line-height:1!important}
  #view-fiches .fiche-row-actions{flex:0 0 auto!important;margin-left:auto!important;padding-right:0!important;gap:4px!important;align-items:center!important;overflow:visible!important}
  #view-fiches .fiche-row-actions .padlock-btn,#view-fiches .fiche-row-actions .fiche-client-card,#view-fiches .fiche-row-actions .fiche-technical-card{width:29px!important;min-width:29px!important;height:38px!important}
  #view-fiches .fiche-client-card img{width:28px!important;height:34px!important}
  #view-fiches .fiche-row-actions .lock-png{width:24px!important;max-width:24px!important;height:30px!important;object-fit:contain!important}
  #view-fiches .fiche-timer-wrap{min-width:78px!important;margin-right:3px!important;gap:2px!important}
  #view-fiches .fiche-row-actions .fiche-timer-btn,#view-fiches .fiche-row-actions .fiche-timer-btn.expanded,#view-fiches .fiche-row-actions .fiche-timer-btn.running{width:78px!important;min-width:78px!important;height:31px!important;min-height:31px!important;padding:0 5px!important;border-radius:7px!important;gap:4px!important}
  #view-fiches .fiche-timer-png{width:16px!important;height:16px!important;min-width:16px!important;flex-basis:16px!important}
  #view-fiches .fiche-timer-time{width:44px!important;min-width:44px!important;max-width:44px!important;flex-basis:44px!important;font-size:12px!important;font-weight:700!important;letter-spacing:0!important}
  #view-fiches .fiche-timer-reset{width:22px!important;min-width:22px!important;height:22px!important}
  #view-fiches .fiche-totals-bar{flex:0 0 44px!important;height:44px!important;min-height:44px!important;padding:0 14px!important;font-size:16px!important;background:#fff!important;border-top:1px solid #e0e0e4!important}
  #view-fiches .mini-calendar-icon,#view-fiches .mini-list-icon{width:21px!important;height:21px!important;flex-basis:21px!important}
  #view-fiches .fiche-footer-metric b,#view-fiches .fiche-total-separator{font-size:17px!important;font-weight:700!important}
}
@media (max-width:390px){
  #view-fiches .fiche-row{padding-left:9px!important;gap:6px!important}
  #view-fiches .salon-fiche-icon{width:56px!important;height:56px!important;flex-basis:56px!important}
  #view-fiches .salon-fiche-icon .fiche-list-png{width:55px!important;height:55px!important}
  #view-fiches .fiche-row .fiche-main b{font-size:16px!important}
  #view-fiches .fiche-date-line{font-size:11px!important}
  #view-fiches .fiche-price{font-size:13px!important;min-width:52px!important}
  #view-fiches .fiche-row-actions{gap:2px!important}
  #view-fiches .fiche-timer-wrap{min-width:70px!important;margin-right:1px!important}
  #view-fiches .fiche-row-actions .fiche-timer-btn,#view-fiches .fiche-row-actions .fiche-timer-btn.expanded,#view-fiches .fiche-row-actions .fiche-timer-btn.running{width:70px!important;min-width:70px!important;padding:0 4px!important}
  #view-fiches .fiche-timer-time{width:40px!important;min-width:40px!important;max-width:40px!important;flex-basis:40px!important;font-size:11px!important}
  #view-fiches .fiche-timer-png{width:14px!important;height:14px!important;min-width:14px!important;flex-basis:14px!important}
  #view-fiches .fiche-row-actions .padlock-btn,#view-fiches .fiche-row-actions .fiche-client-card,#view-fiches .fiche-row-actions .fiche-technical-card{width:26px!important;min-width:26px!important}
}
@media (max-width:760px){
  #ficheModal .fiche-layout{grid-template-columns:1fr!important;height:calc(100dvh - 58px)!important;min-height:0!important;overflow:hidden!important}
  #ficheModal .fiche-left{min-height:0!important;overflow-y:auto!important;padding-bottom:58px!important}
  #ficheModal .fiche-header{min-height:54px!important;height:54px!important}
  #ficheModal .salon-search{height:46px!important;margin:6px 11px!important}
  #ficheModal .fiche-section-title{min-height:52px!important;padding:12px 18px!important;font-size:18px!important}
  #ficheModal .fiche-item-row{min-height:50px!important;padding-left:18px!important;padding-right:12px!important}
  #ficheModal .picker-header{min-height:50px!important;padding-left:18px!important;font-size:17px!important}
  #ficheModal .picker-service{min-height:53px!important;padding:7px 14px 7px 18px!important;font-size:16px!important}
  #ficheModal .payment-box{display:none!important}
  #ficheModal .fiche-client-bottom{position:fixed!important;left:0!important;right:0!important;bottom:var(--footer)!important;z-index:220!important;height:54px!important;background:#fff!important;box-shadow:0 -3px 10px rgba(0,0,0,.10)!important}
}


/* ==========================================================
   v0.6.73 — MOBILE NAV FIX: AGENDA / REPORT / PLUS FICHES
   ========================================================== */

@media (max-width:760px){

  /* FIX PRINCIPALE:
     v0.6.72 aveva #view-fiches{display:flex!important}, quindi la Fiche
     restava visibile anche dentro Home/Agenda/Reports. */
  .content > .view{
    display:none !important;
  }
  .content > .view.active-view{
    display:block !important;
  }
  #view-fiches.active-view{
    display:flex !important;
    flex-direction:column !important;
  }
  #view-fiches:not(.active-view){
    display:none !important;
  }

  /* Agenda: nessuna barra Ricerca cliente deve comparire sotto la pagina. */
  #view-agenda.active-view{
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  #view-agenda .agenda-date-strip{
    position:relative !important;
    z-index:2 !important;
  }
  #view-agenda .agenda-grid-wrap{
    height:calc(100% - 56px) !important;
    min-height:0 !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  /* Reports: la pagina deve diventare realmente attiva e cliccabile su telefono. */
  #view-reports.active-view{
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    pointer-events:auto !important;
  }
  #view-reports #reportGate,
  #view-reports #reportBase,
  #view-reports #reportDetail,
  #view-reports #reportClientDetail{
    pointer-events:auto !important;
  }
  #view-reports #reportBase:not(.hidden),
  #view-reports #reportGate:not(.hidden),
  #view-reports #reportDetail:not(.hidden),
  #view-reports #reportClientDetail:not(.hidden){
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
  }
  #view-reports .report-menu-row{
    cursor:pointer !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
  }

  /* Modale periodo Report completamente utilizzabile su schermo piccolo. */
  #reportPeriodModal.report-calendar-dialog{
    width:calc(100vw - 20px) !important;
    max-width:430px !important;
    height:min(640px, calc(100dvh - 96px)) !important;
    max-height:calc(100dvh - 96px) !important;
    margin:auto !important;
  }
  #reportPeriodModal .report-calendar-head{
    position:relative !important;
    z-index:4 !important;
  }
  #reportPeriodModal .report-calendar-close,
  #reportPeriodModal .report-calendar-confirm{
    pointer-events:auto !important;
    touch-action:manipulation !important;
  }
  #reportPeriodModal .report-calendar-scroll{
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
  }

  /* Header mobile: Home/titolo a sinistra-centro, + Fiches nel suo slot a destra. */
  .topbar:not(.home-mode){
    grid-template-columns:52px minmax(0,1fr) auto !important;
  }
  .topbar:not(.home-mode) .top-title{
    grid-column:2 !important;
    min-width:0 !important;
  }
  .topbar:not(.home-mode) .top-context{
    display:none !important;
  }
  .topbar:not(.home-mode) .top-actions{
    grid-column:3 !important;
    justify-self:end !important;
    position:relative !important;
    right:auto !important;
    left:auto !important;
    top:auto !important;
    margin:0 !important;
    width:auto !important;
    min-width:39px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    z-index:6 !important;
  }
  .topbar:not(.home-mode) #contextAddBtn:not(.hidden){
    display:grid !important;
    place-items:center !important;
    width:44px !important;
    min-width:44px !important;
    height:39px !important;
    margin:0 !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
  }

  /* Nessun elemento della Fiche può sporgere nelle altre viste. */
  #view-fiches:not(.active-view) *,
  #view-fiches:not(.active-view)::before,
  #view-fiches:not(.active-view)::after{
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

@media (max-width:430px){
  .topbar:not(.home-mode){
    grid-template-columns:44px minmax(0,1fr) 46px !important;
  }
  .topbar:not(.home-mode) #contextAddBtn:not(.hidden){
    width:44px !important;
    min-width:44px !important;
  }
}


/* ==========================================================
   v0.6.74 — CLIENTI SWIPE MOBILE + HOME LOGO MOBILE CENTRATO
   ========================================================== */

@media (max-width:760px){

  /* Clienti: swipe orizzontale sulla riga = stessa scheda/storico del click. */
  #view-clients .client-row{
    position:relative !important;
    touch-action:pan-y !important;
    will-change:transform !important;
    transition:transform .16s ease, box-shadow .16s ease !important;
    overflow:visible !important;
  }
  #view-clients .client-row.client-swipe-active{
    z-index:3 !important;
    box-shadow:0 4px 16px rgba(0,0,0,.12) !important;
  }
  #view-clients .client-row.client-swipe-opening{
    box-shadow:0 0 0 1px rgba(214,0,66,.12),0 5px 18px rgba(214,0,66,.13) !important;
  }

  /* HOME: abbassa SOLO il logo Catalano, lasciando BUSINESS, GM e Agenda invariati. */
  .content.home-mode #view-home .home-logo-zone{
    top:clamp(96px, 12vh, 140px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    justify-content:center !important;
    align-items:flex-start !important;
  }
  .content.home-mode #view-home .home-official-logo{
    margin:0 auto !important;
    object-position:center !important;
  }
}


/* ==========================================================
   v0.6.75 — CLIENTI SWIPE AZIONI + SCROLL MODALI MOBILE
   ========================================================== */

@media (max-width:760px){

  /* SWIPE CLIENTI:
     il gesto serve solo a rivelare Matita/Cestino, come il click sulla riga. */
  #view-clients .client-row{
    touch-action:pan-y !important;
    overflow:hidden !important;
  }
  #view-clients .client-row.selected-row{
    padding-right:104px !important;
  }
  #view-clients .client-edit-actions{
    display:flex !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:104px !important;
    min-width:104px !important;
    z-index:4 !important;
  }
  #view-clients .client-edit-actions.hidden{
    display:none !important;
  }

  /* CLIENT MODAL:
     un solo vero scroller per GENERALE/TESSERE.
     Evita il nested-scroll che su mobile poteva arrivare in fondo
     e poi non permettere di tornare verso l'alto. */
  #clientModal.client-dialog{
    width:100vw !important;
    max-width:100vw !important;
    height:calc(100dvh - 8px) !important;
    max-height:calc(100dvh - 8px) !important;
    margin:auto !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  #clientModal #clientForm.salon-modal-form{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
    overscroll-behavior:none !important;
    touch-action:auto !important;
  }

  #clientModal .salon-modal-head{
    position:relative !important;
    top:auto !important;
    flex:0 0 58px !important;
    height:58px !important;
    min-height:58px !important;
    z-index:25 !important;
  }

  #clientModal #clientModalTabs.modal-top-tabs{
    position:relative !important;
    top:auto !important;
    flex:0 0 47px !important;
    height:47px !important;
    min-height:47px !important;
    overflow:hidden !important;
    z-index:24 !important;
  }

  #clientModal .client-pane{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:14px 18px 34px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;
    scroll-behavior:auto !important;
    scrollbar-gutter:auto !important;
  }

  #clientModal .client-pane.hidden{
    display:none !important;
  }

  /* Input/textarea non devono trasformarsi in un secondo contenitore scroll verticale. */
  #clientModal textarea{
    max-height:160px !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }

  /* Check parallelo: storico Cliente usa anch'esso un solo scroller interno. */
  #clientHistoryModal.history-dialog{
    overflow:hidden !important;
  }
  #clientHistoryModal .history-modal-form{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  #clientHistoryModal .history-modal-head,
  #clientHistoryModal .history-tabs,
  #clientHistoryModal .history-subtabs,
  #clientHistoryModal .history-search-row{
    flex:0 0 auto !important;
  }
  #clientHistoryModal .history-content{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;
  }
}


/* ==========================================================
   v0.6.77 — HOME MOBILE PIÙ CENTRATA + FORM MOBILE NO-ZOOM BLOCCATO
   ========================================================== */

@media (max-width:760px){

  /* HOME MOBILE:
     avvicina logo Catalano e BUSINESS, centrando meglio il blocco visivo.
     GM e agendina restano invariati. */
  .content.home-mode #view-home .home-logo-zone{
    top:clamp(106px, 12.5vh, 146px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    justify-content:center !important;
  }
  .content.home-mode #view-home .home-official-logo{
    margin:0 auto !important;
    object-position:center center !important;
  }
  .content.home-mode #view-home .home-business-mark{
    top:49.5% !important;
    left:50% !important;
    transform:translate(-50%,-50%) !important;
    width:92vw !important;
    height:190px !important;
  }

  /* iPhone/Safari:
     font sotto 16px provoca auto-zoom del viewport e può lasciare il modal
     apparentemente "bloccato". Forziamo 16px nei campi di inserimento. */
  #clientModal input,
  #clientModal select,
  #clientModal textarea,
  #clientModal button,
  #ficheModal input[type="search"],
  #ficheModal input[type="text"],
  #ficheModal input[type="tel"],
  #ficheModal input[type="email"]{
    font-size:16px !important;
  }

  /* Header Cliente sempre raggiungibile anche con tastiera aperta. */
  #clientModal.client-dialog{
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    inset:0 !important;
    margin:auto !important;
    overflow:hidden !important;
  }
  #clientModal #clientForm{
    height:100% !important;
    max-height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  #clientModal .salon-modal-head{
    position:relative !important;
    top:0 !important;
    z-index:50 !important;
    flex:0 0 58px !important;
    min-height:58px !important;
    background:#fff !important;
  }
  #clientModal .salon-modal-head button{
    min-width:44px !important;
    min-height:44px !important;
    touch-action:manipulation !important;
  }
  #clientModal .client-pane{
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:contain !important;
    scroll-padding-top:12px !important;
    scroll-padding-bottom:calc(34px + env(safe-area-inset-bottom)) !important;
  }

  /* Nome/Cognome e campi principali: altezza sufficiente senza perdere spazio. */
  #clientModal #cFirst,
  #clientModal #cLast,
  #clientModal #cPhone,
  #clientModal #cEmail,
  #clientModal #cAddress,
  #clientModal #cCity,
  #clientModal #cPostal{
    min-height:42px !important;
    line-height:1.2 !important;
  }
}


/* ==========================================================
   v0.6.78 — REPORT HEADER PARITY SALONAPP + FILTRI COLLASSABILI
   ========================================================== */

/* Report Giornaliero: niente barra Ricerca cliente. */
#view-reports #reportDailySearch{
  display:none !important;
}

/* Il pannello Tipo/Sesso/Preset è a comparsa dal pulsante "sliders" in alto. */
#view-reports .report-daily-filters{
  grid-template-columns:1fr 1fr 1fr !important;
  padding:10px 14px 12px !important;
  margin:0 !important;
  gap:20px !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
  box-shadow:0 3px 8px rgba(0,0,0,.08) !important;
}
#view-reports .report-daily-filters.hidden{
  display:none !important;
}
#view-reports .report-daily-filters.report-filters-open{
  display:grid !important;
}
#view-reports .report-daily-filters label{
  margin:0 !important;
  font-size:11px !important;
  color:var(--pink) !important;
}
#view-reports .report-daily-filters select{
  height:34px !important;
  padding:3px 0 !important;
  font-size:15px !important;
  border:0 !important;
  border-bottom:1px solid #d8d8d8 !important;
  background:#fff !important;
}

/* Parte superiore Report come SalonApp originale:
   header compatto -> direttamente Totale Generale. */
#view-reports .report-detail-strip{
  height:66px !important;
  min-height:66px !important;
  grid-template-columns:48px 1fr 48px !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
  box-shadow:0 3px 8px rgba(0,0,0,.10) !important;
}
#view-reports .report-detail-strip strong{
  font-size:18px !important;
  font-weight:400 !important;
  color:#222 !important;
  text-align:center !important;
}
#view-reports .round-arrow{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  border-radius:50% !important;
}

/* Info Generali: vera sezione apri/chiudi come originale. */
#view-reports .report-general{
  padding:26px 9px 12px !important;
}
#view-reports .report-general-toggle{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  border:0 !important;
  border-radius:4px !important;
  padding:0 12px !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-weight:700 !important;
  text-align:center !important;
  position:relative !important;
  cursor:pointer !important;
}
#view-reports .report-general-toggle span{
  position:absolute !important;
  right:12px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  font-size:19px !important;
  line-height:1 !important;
}
#view-reports #reportGeneralBody.hidden{
  display:none !important;
}

/* Header top: spaziatura più vicina allo screenshot SalonApp. */
.topbar .year-context{
  align-items:center !important;
  gap:6px !important;
}
.topbar .year-context select{
  min-width:74px !important;
}
.topbar .report-context-icon{
  width:38px !important;
  min-width:38px !important;
  height:38px !important;
}

/* Mobile/tablet: stessa logica, filtri su colonna quando aperti. */
@media (max-width:760px){
  #view-reports .report-daily-filters{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:10px 12px 12px !important;
  }
  #view-reports .report-detail-strip{
    height:60px !important;
    min-height:60px !important;
    grid-template-columns:44px 1fr 44px !important;
  }
  #view-reports .report-general{
    padding:18px 8px 10px !important;
  }
}


/* ==========================================================
   v0.6.79 — REPORT SCROLL GLOBALE + NAVIGAZIONE GIORNO/TOTALE
   ========================================================== */

#view-reports #reportDetail,
#view-reports #reportClientDetail{
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  min-height:0 !important;
  overscroll-behavior-y:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  scrollbar-gutter:stable !important;
}

/* Le tabelle non creano un secondo scroll verticale concorrente. */
#view-reports .report-table-wrap{
  overflow-x:auto !important;
  overflow-y:visible !important;
  height:auto !important;
  max-height:none !important;
}

/* Barra Giornaliero/Totale identica nel comportamento alle frecce SalonApp. */
#view-reports .report-detail-strip{
  position:sticky !important;
  top:0 !important;
  z-index:20 !important;
  background:#fff !important;
}
#view-reports #reportPeriodLabel{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding:0 8px !important;
  font-variant-numeric:tabular-nums !important;
}
#view-reports .report-detail-strip .round-arrow{
  cursor:pointer !important;
  touch-action:manipulation !important;
  user-select:none !important;
  pointer-events:auto !important;
}

/* Chrome / Edge: thumb più facile da afferrare. */
#view-reports #reportDetail::-webkit-scrollbar,
#view-reports #reportClientDetail::-webkit-scrollbar{
  width:13px !important;
}
#view-reports #reportDetail::-webkit-scrollbar-thumb,
#view-reports #reportClientDetail::-webkit-scrollbar-thumb{
  min-height:46px !important;
  border-radius:10px !important;
  background:#8d8d8d !important;
  border:3px solid #f2f2f2 !important;
}
#view-reports #reportDetail::-webkit-scrollbar-track,
#view-reports #reportClientDetail::-webkit-scrollbar-track{
  background:#f2f2f2 !important;
}

/* Mobile: stesso schema a scorrimento verticale. */
@media (max-width:760px){
  #view-reports #reportPeriodLabel{
    font-size:16px !important;
  }
}


/* ==========================================================
   v0.6.80 — REPORT CLIENTI PER SERVIZIO + NAV AGENDA STATO
   ========================================================== */

/* Report: categorie e servizi si aprono cliccando tutta la riga.
   Se il servizio ha clienti nel periodo, il click mostra chi lo ha ricevuto. */
#view-reports .report-category-clickable,
#view-reports .report-service-clickable{
  cursor:pointer !important;
  user-select:none !important;
  touch-action:manipulation !important;
}
#view-reports .report-category-clickable:hover,
#view-reports .report-service-clickable:hover{
  background:rgba(214,0,66,.045) !important;
}
#view-reports .report-service-clickable .expand-cell{
  color:#1f2633 !important;
}
#view-reports .report-client-result td{
  background:#fff !important;
}
#view-reports .report-client-result td:first-child{
  color:#303746 !important;
  font-weight:500 !important;
}
#view-reports .report-client-result-icon{
  display:inline-block !important;
  margin-right:7px !important;
  color:var(--pink) !important;
  font-size:9px !important;
  vertical-align:middle !important;
}

/* BOTTOM NAV — Agenda deve comportarsi esattamente come Clienti/Fiches/Reports:
   grigia quando NON attiva, rosa solo quando siamo dentro Agenda. */
.bottom-nav button:nth-child(1) span{
  width:26px !important;
  height:26px !important;
  background:currentColor !important;
  -webkit-mask-image:url('/static/icons/nav-agenda-salonapp-transparent-hq.png?v=0.6.80') !important;
  mask-image:url('/static/icons/nav-agenda-salonapp-transparent-hq.png?v=0.6.80') !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  filter:none !important;
  opacity:1 !important;
}
.bottom-nav button:nth-child(1){
  color:#8d8d8d !important;
}
.bottom-nav button:nth-child(1).active{
  color:var(--pink) !important;
}


/* ==========================================================
   v0.6.81 — AGENDA PNG CON PALLINI + REPORT CLIENTI DRILL-DOWN
   ========================================================== */

/* Agenda: PNG vero, non maschera piena.
   Inattiva = grigio con outline e pallini; attiva = rosa. */
.bottom-nav button:nth-child(1) span{
  width:27px !important;
  height:27px !important;
  display:block !important;
  background-color:transparent !important;
  background-image:url('/static/icons/nav-agenda-dots-gray-hq.png?v=0.6.81') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:contain !important;
  -webkit-mask:none !important;
  mask:none !important;
  filter:none !important;
  opacity:1 !important;
}
.bottom-nav button:nth-child(1).active span{
  background-image:url('/static/icons/nav-agenda-dots-pink-hq.png?v=0.6.81') !important;
}
.bottom-nav button:nth-child(1){
  color:#888 !important;
}
.bottom-nav button:nth-child(1).active{
  color:var(--pink) !important;
}

/* Report Clienti: stesso schema gerarchico usato dagli altri Report. */
#view-reports #reportClientDetail{
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  min-height:0 !important;
  max-height:100% !important;
  overscroll-behavior-y:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  scrollbar-gutter:stable !important;
}
#view-reports #reportClientTable{
  overflow:visible !important;
}
#view-reports .report-client-table{
  width:100% !important;
}
#view-reports .report-client-selectable{
  cursor:pointer !important;
  user-select:none !important;
  touch-action:manipulation !important;
}
#view-reports .report-client-selectable:hover{
  background:rgba(209,0,75,.055) !important;
}
#view-reports .report-client-person td{
  background:#fff !important;
}
#view-reports .report-client-person strong{
  font-weight:500 !important;
  color:#283044 !important;
}
#view-reports .report-client-last{
  display:block !important;
  margin:2px 0 0 18px !important;
  font-size:10px !important;
  font-weight:400 !important;
  color:#7a7f89 !important;
}
#view-reports .report-client-service-detail td{
  background:#f7f7f8 !important;
}
#view-reports .report-client-service-detail td:first-child{
  padding-top:6px !important;
  padding-bottom:6px !important;
}
#view-reports .report-client-service-detail b{
  font-weight:500 !important;
  color:#252c3a !important;
}
#view-reports .report-client-service-detail small{
  display:block !important;
  margin-left:16px !important;
  margin-top:2px !important;
  font-size:10px !important;
  color:#6f7580 !important;
}
#view-reports .report-client-service-dot{
  color:var(--pink) !important;
  font-size:8px !important;
  margin-right:7px !important;
}

/* Il wrapper tabella non deve creare un secondo scroll verticale. */
#view-reports .report-client-table,
#view-reports #reportClientTable,
#view-reports .report-table-wrap{
  max-height:none !important;
}


/* ==========================================================
   v0.6.82 — REPORT CALENDAR CLICK STABILE / ZERO SALTI
   ========================================================== */

#reportPeriodModal .report-calendar-scroll{
  scroll-behavior:auto !important;
  overflow-anchor:none !important;
  overscroll-behavior:contain !important;
}

#reportPeriodModal .report-cal-month,
#reportPeriodModal .report-cal-grid,
#reportPeriodModal .report-cal-day{
  overflow-anchor:none !important;
}

/* Ogni cella mantiene IDENTICHE dimensioni prima/dopo la selezione. */
#reportPeriodModal .report-cal-day{
  box-sizing:border-box !important;
  transform:none !important;
  transition:background-color .08s linear,color .08s linear !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

/* Il focus non deve generare outline esterno o auto-scroll visivo. */
#reportPeriodModal .report-cal-day:focus,
#reportPeriodModal .report-cal-day:active{
  outline:none !important;
}

/* Start/end restano completamente dentro la cella:
   nessun bordo modifica width/height o posizione del calendario. */
#reportPeriodModal .report-cal-day.range-start::after,
#reportPeriodModal .report-cal-day.range-end::after,
#reportPeriodModal .report-cal-day.range-single::after{
  box-sizing:border-box !important;
  margin:0 !important;
}


/* ==========================================================
   v0.6.83 — REPORT CLIENTI PRESET SALONAPP + ORDINAMENTO SOLDI
   ========================================================== */

/* Modal Report Clienti: preset mese/anno come SalonApp */
#reportPeriodModal.client-preset-mode{
  width:min(860px,94vw) !important;
  max-width:860px !important;
  height:auto !important;
  max-height:78vh !important;
}
#reportPeriodModal.client-preset-mode .report-calendar-title h3{
  font-size:17px !important;
}
#reportPeriodModal.client-preset-mode .report-calendar-confirm{
  visibility:hidden !important;
  pointer-events:none !important;
}
#reportPeriodModal.client-preset-mode .report-calendar-selection,
#reportPeriodModal.client-preset-mode .report-calendar-scroll{
  display:none !important;
}
#reportPeriodModal.client-preset-mode .report-calendar-body{
  padding:0 !important;
  min-height:260px !important;
  background:#f5f5f5 !important;
}
#reportPeriodModal.client-preset-mode .report-client-preset-pane{
  display:grid !important;
  grid-template-columns:1fr 210px;
  grid-template-rows:1fr auto;
  min-height:260px !important;
  background:#f5f5f5 !important;
}
#reportPeriodModal .report-client-preset-pane.hidden{
  display:none !important;
}
.report-client-preset-label{
  grid-column:1;
  grid-row:1;
  align-self:start;
  padding:36px 10px !important;
  font-size:16px !important;
  color:var(--pink) !important;
}
.report-client-preset-wheels{
  grid-column:2;
  grid-row:1;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:4px !important;
  padding:16px 10px 8px !important;
  background:#fff !important;
  box-shadow:-4px 0 12px rgba(0,0,0,.04) !important;
}
.report-client-wheel{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:4px !important;
}
.report-client-wheel button{
  height:34px !important;
  border:0 !important;
  background:transparent !important;
  font-size:18px !important;
  font-weight:300 !important;
  color:#b8b8b8 !important;
  cursor:pointer !important;
  text-align:left !important;
  padding:0 6px !important;
}
.report-client-wheel button:nth-child(2),
.report-client-wheel button:nth-child(4){
  color:#333 !important;
}
.report-client-wheel button.selected{
  color:var(--pink) !important;
  font-size:20px !important;
  font-weight:400 !important;
}
.report-client-visualizza{
  grid-column:1 / -1;
  grid-row:2;
  justify-self:start;
  margin:12px !important;
  padding:5px 12px !important;
  border:0 !important;
  border-radius:4px !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-size:14px !important;
  cursor:pointer !important;
}

/* Topbar Report Clienti: filtro + icona soldi */
.report-money-glyph{
  width:25px !important;
  height:22px !important;
  display:block !important;
}
.report-money-glyph svg{
  width:100% !important;
  height:100% !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
}
.report-money-glyph text{
  fill:currentColor !important;
  stroke:none !important;
  font-size:9px !important;
  font-weight:700 !important;
  font-family:Arial,sans-serif !important;
}
.report-money-sort{
  color:var(--pink) !important;
  border-radius:4px !important;
}
.report-money-sort.active{
  background:var(--pink) !important;
  color:#fff !important;
  box-shadow:0 1px 4px rgba(209,0,75,.22) !important;
}

/* Grafica Report Clienti più vicina all'originale SalonApp */
#view-reports .report-client-count{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 32% !important;
  align-items:center !important;
  min-height:44px !important;
  padding:6px 8px !important;
  background:#fff !important;
}
#view-reports .report-client-count b{
  justify-self:end !important;
  padding-right:18px !important;
  font-size:15px !important;
}
#view-reports .report-client-count strong{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-size:16px !important;
}
#view-reports .report-client-table thead th{
  background:var(--pink) !important;
  color:#fff !important;
  font-weight:700 !important;
  text-align:center !important;
  height:38px !important;
}
#view-reports .report-client-table tbody td{
  border-color:#c8c8c8 !important;
}
#view-reports .report-client-table .category-row td{
  background:#f4e7cf !important;
}
#view-reports .client-segment-badge{
  display:inline-flex !important;
  min-width:27px !important;
  height:23px !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:8px !important;
  padding:0 7px !important;
  background:#fff !important;
  border:1px solid #d4d4d4 !important;
  border-radius:9px !important;
  color:#454545 !important;
  font-size:12px !important;
  font-weight:600 !important;
}

@media (max-width:760px){
  #reportPeriodModal.client-preset-mode{
    width:calc(100vw - 16px) !important;
  }
  #reportPeriodModal.client-preset-mode .report-client-preset-pane{
    grid-template-columns:1fr 170px !important;
  }
  .report-client-preset-label{
    padding-top:28px !important;
  }
  .report-client-wheel button{
    font-size:16px !important;
  }
  .report-client-wheel button.selected{
    font-size:18px !important;
  }
}


/* ==========================================================
   v0.6.84 — TIMER FICHE REGOLABILE MANUALMENTE
   ========================================================== */

#view-fiches .fiche-timer-adjust{
  width:24px !important;
  min-width:24px !important;
  height:24px !important;
  min-height:24px !important;
  padding:0 !important;
  border:1px solid #c8c8cc !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#4d5158 !important;
  display:grid !important;
  place-items:center !important;
  font:700 14px/1 Arial,Helvetica,sans-serif !important;
  cursor:pointer !important;
  box-shadow:0 1px 3px rgba(0,0,0,.08) !important;
}
#view-fiches .fiche-timer-adjust:hover{
  border-color:var(--pink) !important;
  color:var(--pink) !important;
}

.fiche-timer-adjust-dialog{
  width:min(360px,calc(100vw - 24px)) !important;
  max-width:360px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#222 !important;
  box-shadow:0 14px 44px rgba(0,0,0,.28) !important;
}
.fiche-timer-adjust-dialog::backdrop{
  background:rgba(0,0,0,.32) !important;
}
.fiche-timer-adjust-card{
  padding:0 16px 15px !important;
}
.fiche-timer-adjust-head{
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border-bottom:1px solid #ececef !important;
  margin:0 -16px 12px !important;
  padding:0 12px 0 16px !important;
}
.fiche-timer-adjust-head strong{
  font-size:17px !important;
  color:#20232a !important;
}
.fiche-timer-adjust-close{
  width:36px !important;
  height:36px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  font-size:26px !important;
  cursor:pointer !important;
}
.fiche-timer-adjust-current{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin-bottom:12px !important;
  padding:9px 10px !important;
  border-radius:7px !important;
  background:#f4f4f6 !important;
  font-size:13px !important;
}
.fiche-timer-adjust-current b{
  font-size:20px !important;
  font-variant-numeric:tabular-nums !important;
}
.fiche-timer-adjust-fields{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
.fiche-timer-adjust-fields label{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  color:#5d626c !important;
  font-size:12px !important;
}
.fiche-timer-adjust-fields input{
  width:100% !important;
  height:42px !important;
  box-sizing:border-box !important;
  border:1px solid #cfd1d6 !important;
  border-radius:7px !important;
  padding:0 10px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:16px !important;
  text-align:center !important;
  font-variant-numeric:tabular-nums !important;
}
.fiche-timer-adjust-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:9px !important;
  margin-top:13px !important;
}
.fiche-timer-adjust-actions button{
  height:38px !important;
  border-radius:7px !important;
  font-size:13px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}
.fiche-timer-adjust-minus{
  border:1px solid #c8c8cd !important;
  background:#fff !important;
  color:#555 !important;
}
.fiche-timer-adjust-plus{
  border:1px solid var(--pink) !important;
  background:var(--pink) !important;
  color:#fff !important;
}
.fiche-timer-adjust-card small{
  display:block !important;
  margin-top:10px !important;
  color:#767b84 !important;
  font-size:11px !important;
  line-height:1.35 !important;
}

@media(max-width:760px){
  #view-fiches .fiche-timer-wrap{
    gap:3px !important;
  }
  #view-fiches .fiche-timer-adjust{
    width:22px !important;
    min-width:22px !important;
    height:22px !important;
    min-height:22px !important;
    font-size:13px !important;
  }
  .fiche-timer-adjust-dialog{
    width:calc(100vw - 20px) !important;
    max-width:360px !important;
  }
}


/* ==========================================================
   v0.6.85 — LUCCHETTI UNIFICATI IN TUTTA L'APP
   ========================================================== */

/* Unica famiglia grafica:
   - CHIUSO / confermato = rosso
   - APERTO / normale = grigio
   Stessa dimensione, stessa geometria, stesso PNG in ogni sezione. */

.cp-lock-unified,
.lock-png{
  display:block !important;
  width:24px !important;
  max-width:24px !important;
  height:29px !important;
  max-height:29px !important;
  object-fit:contain !important;
  image-rendering:auto !important;
  background:transparent !important;
  filter:none !important;
  opacity:1 !important;
}

/* Lista Fiches */
#view-fiches .fiche-row-actions .padlock-btn{
  width:31px !important;
  min-width:31px !important;
  height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#view-fiches .fiche-row-actions .padlock-btn .lock-png{
  width:24px !important;
  max-width:24px !important;
  height:29px !important;
}

/* Fondo Modifica Fiche / Pagamenti */
.payment-state-lock{
  width:31px !important;
  min-width:31px !important;
  height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.payment-state-lock .lock-png{
  width:24px !important;
  max-width:24px !important;
  height:29px !important;
}

/* Elimina definitivamente vecchi lucchetti costruiti in CSS/SVG */
.padlock-btn .lock-body,
.padlock-btn .lock-shackle,
.payment-state-lock .lock-body,
.payment-state-lock .lock-shackle,
.payment-state-lock .lock-vector,
.global-lock-btn .lock-body,
.global-lock-btn .lock-shackle{
  display:none !important;
}

/* Lucchetto globale Periodo Fiches:
   rappresenta l'area "fiches chiuse/confermate", quindi usa lo stesso ROSSO chiuso. */
#view-fiches .global-lock-btn,
.global-lock-btn{
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  padding:0 !important;
  border:0 !important;
  background-color:transparent !important;
  background-image:url('/static/icons/lock-unified-closed-red.png?v=0.6.85') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:24px 29px !important;
  box-shadow:none !important;
}

/* Non permettere alle regole vecchie di cambiare colore o dimensione */
.padlock-btn,
.padlock-btn.locked,
.payment-state-lock.open,
.payment-state-lock.closed{
  color:inherit !important;
}

/* Mobile: identico disegno, solo leggermente più compatto */
@media(max-width:760px){
  #view-fiches .fiche-row-actions .padlock-btn{
    width:29px !important;
    min-width:29px !important;
  }
  #view-fiches .fiche-row-actions .padlock-btn .lock-png,
  .payment-state-lock .lock-png{
    width:22px !important;
    max-width:22px !important;
    height:27px !important;
  }
  #view-fiches .global-lock-btn{
    background-size:22px 27px !important;
  }
}


/* ==========================================================
   v0.6.86 — LUCCHETTI STATO APERTO/CHIUSO COME SALONAPP
   - grigio quando aperto / normale
   - rosso quando pagato / chiuso
   - stessa grafica in tutte le sezioni
   ========================================================== */

/* Riga fiches: aperto grigio, chiuso rosso */
#view-fiches .fiche-row-actions .padlock-btn,
.payment-state-lock{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
#view-fiches .fiche-row-actions .padlock-btn .lock-png,
.payment-state-lock .lock-png,
.cp-lock-unified,
.lock-png{
  display:block !important;
  width:24px !important;
  max-width:24px !important;
  height:29px !important;
  max-height:29px !important;
  object-fit:contain !important;
  filter:none !important;
  background:transparent !important;
}

/* Lucchetto superiore Periodo/Stato fiches: di base APERTO quindi grigio */
#view-fiches .global-lock-btn,
.global-lock-btn{
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  padding:0 !important;
  border:0 !important;
  background-color:transparent !important;
  background-image:url('/static/icons/lock-unified-open-gray.png?v=0.6.86') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:24px 29px !important;
  box-shadow:none !important;
}

/* Se in futuro il bottone riceve uno stato locked/closed, mostra rosso */
#view-fiches .global-lock-btn.locked,
#view-fiches .global-lock-btn.closed,
#view-fiches .global-lock-btn[data-locked="true"],
.global-lock-btn.locked,
.global-lock-btn.closed,
.global-lock-btn[data-locked="true"]{
  background-image:url('/static/icons/lock-unified-closed-red.png?v=0.6.86') !important;
}

/* Vecchi vettori disattivati ovunque */
.padlock-btn .lock-body,
.padlock-btn .lock-shackle,
.payment-state-lock .lock-body,
.payment-state-lock .lock-shackle,
.payment-state-lock .lock-vector,
.global-lock-btn .lock-body,
.global-lock-btn .lock-shackle{
  display:none !important;
}

/* Mobile */
@media(max-width:760px){
  #view-fiches .fiche-row-actions .padlock-btn .lock-png,
  .payment-state-lock .lock-png{
    width:22px !important;
    max-width:22px !important;
    height:27px !important;
    max-height:27px !important;
  }
  #view-fiches .global-lock-btn,
  .global-lock-btn{
    background-size:22px 27px !important;
  }
}


/* ==========================================================
   v0.6.87 — LUCCHETTI SALONAPP ORIGINALI + STATO PAGAMENTO CANONICO
   ========================================================== */

/* Le righe Fiche e il lucchetto Pagamenti usano esclusivamente i due PNG
   ricavati dal riferimento SalonApp: aperto grigio / chiuso rosso. */
#view-fiches .fiche-row-actions .padlock-btn,
.payment-state-lock{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#view-fiches .fiche-row-actions .padlock-btn .lock-png,
.payment-state-lock .lock-png,
.cp-lock-unified,
.lock-png{
  width:22px !important;
  max-width:22px !important;
  height:29px !important;
  max-height:29px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
  background:transparent !important;
}

/* Il lucchetto nella riga PERIODO è un controllo/filtro, come SalonApp:
   resta il piccolo lucchetto CHIUSO rosso del riferimento originale. */
#view-fiches .global-lock-btn,
.global-lock-btn{
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  padding:0 !important;
  border:0 !important;
  background-color:transparent !important;
  background-image:url('/static/icons/lock-salonapp-original-paid-red.png?v=0.6.87') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:22px 29px !important;
  box-shadow:none !important;
}

/* Nessun vecchio disegno CSS/SVG deve più apparire. */
.padlock-btn .lock-body,
.padlock-btn .lock-shackle,
.payment-state-lock .lock-body,
.payment-state-lock .lock-shackle,
.payment-state-lock .lock-vector,
.global-lock-btn .lock-body,
.global-lock-btn .lock-shackle{
  display:none !important;
}

@media(max-width:760px){
  #view-fiches .fiche-row-actions .padlock-btn .lock-png,
  .payment-state-lock .lock-png{
    width:21px !important;
    max-width:21px !important;
    height:28px !important;
    max-height:28px !important;
  }
  #view-fiches .global-lock-btn,
  .global-lock-btn{
    background-size:21px 28px !important;
  }
}


/* ==========================================================
   v0.6.88 — PAYMENT STATE LIVE / LUCCCHETTO SALONAPP
   ========================================================== */

#view-fiches .fiche-slide[data-payment-state="open"] .padlock-btn,
#view-fiches .fiche-slide[data-payment-state="open"] .padlock-btn:hover{
  color:#777 !important;
  background:transparent !important;
}
#view-fiches .fiche-slide[data-payment-state="paid"] .padlock-btn,
#view-fiches .fiche-slide[data-payment-state="paid"] .padlock-btn:hover{
  color:#d10042 !important;
  background:transparent !important;
}

/* Il PNG deve restare nei suoi colori originali: nessun filtro o tint CSS. */
#view-fiches .padlock-btn .lock-png,
.payment-state-lock .lock-png{
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  background:transparent !important;
}

/* Fondo Fiche: stessa dimensione e stessi PNG della lista. */
.payment-state-lock{
  width:31px !important;
  min-width:31px !important;
  height:38px !important;
}
.payment-state-lock .lock-png{
  width:22px !important;
  max-width:22px !important;
  height:29px !important;
  max-height:29px !important;
}


/* ==========================================================
   v0.6.89 — PNG LUCCHETTI APPROVATI + RECOVERY CUMULATIVA
   ========================================================== */

/* Stato pagamento:
   APERTO / NON PAGATO = PNG grigio approvato
   PAGATO / CHIUSO     = PNG magenta approvato
   Nessun filtro CSS e nessuna grafica alternativa. */

#view-fiches .padlock-btn .lock-png,
.payment-state-lock .lock-png,
.cp-lock-unified,
.lock-png{
  width:22px !important;
  max-width:22px !important;
  height:27px !important;
  max-height:27px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  background:transparent !important;
}

/* Lucchetto generale Periodo: usa la stessa grafica, non una terza variante. */
#view-fiches .global-lock-btn,
.global-lock-btn{
  background-color:transparent !important;
  background-image:url('/static/icons/lock-ui-open-gray.png?v=0.6.89') !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:22px 27px !important;
  border:0 !important;
  box-shadow:none !important;
}
#view-fiches .global-lock-btn.locked,
#view-fiches .global-lock-btn.closed,
#view-fiches .global-lock-btn[data-locked="true"],
.global-lock-btn.locked,
.global-lock-btn.closed,
.global-lock-btn[data-locked="true"]{
  background-image:url('/static/icons/lock-ui-paid-magenta.png?v=0.6.89') !important;
}

/* Elimina grafiche residue */
.padlock-btn .lock-body,
.padlock-btn .lock-shackle,
.payment-state-lock .lock-body,
.payment-state-lock .lock-shackle,
.payment-state-lock .lock-vector,
.global-lock-btn .lock-body,
.global-lock-btn .lock-shackle{
  display:none !important;
}


/* ==========================================================
   v0.6.90 — LUCCHETTI PIÙ LEGGIBILI + HEADER AGENDA PC CENTRATO
   ========================================================== */

/* Aumenta SOLO la resa visiva dei lucchetti approvati, senza cambiare logica/stato. */
#view-fiches .fiche-row-actions .padlock-btn{
  width:36px !important;
  min-width:36px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}
#view-fiches .fiche-row-actions .padlock-btn .lock-png,
.payment-state-lock .lock-png,
.cp-lock-unified,
.lock-png{
  width:29px !important;
  max-width:29px !important;
  height:35px !important;
  max-height:35px !important;
  object-fit:contain !important;
  filter:none !important;
}
.payment-state-lock{
  width:36px !important;
  min-width:36px !important;
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#view-fiches .global-lock-btn,
.global-lock-btn{
  background-image:url('/static/icons/lock-ui-open-gray.png?v=0.6.90') !important;
  background-size:29px 35px !important;
}
#view-fiches .global-lock-btn.locked,
#view-fiches .global-lock-btn.closed,
#view-fiches .global-lock-btn[data-locked="true"],
.global-lock-btn.locked,
.global-lock-btn.closed,
.global-lock-btn[data-locked="true"]{
  background-image:url('/static/icons/lock-ui-paid-magenta.png?v=0.6.90') !important;
}

/* Agenda PC: centra geometricamente SOLO "Catalano Parrucchieri" nell'header.
   Nessuna modifica a griglia, appuntamenti, pulsanti o contesto Agenda. */
@media (min-width:761px){
  body[data-active-view="agenda"] .topbar{
    position:relative !important;
  }
  body[data-active-view="agenda"] .topbar .top-title{
    position:absolute !important;
    left:50% !important;
    top:0 !important;
    transform:translateX(-50%) !important;
    width:auto !important;
    max-width:46vw !important;
    height:39px !important;
    line-height:39px !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    z-index:1 !important;
    pointer-events:none !important;
  }
  body[data-active-view="agenda"] .topbar #pageTitle{
    display:block !important;
    text-align:center !important;
  }
}

@media (max-width:760px){
  #view-fiches .fiche-row-actions .padlock-btn{
    width:33px !important;
    min-width:33px !important;
    height:38px !important;
  }
  #view-fiches .fiche-row-actions .padlock-btn .lock-png,
  .payment-state-lock .lock-png,
  .cp-lock-unified,
  .lock-png{
    width:27px !important;
    max-width:27px !important;
    height:33px !important;
    max-height:33px !important;
  }
  #view-fiches .global-lock-btn,
  .global-lock-btn{
    background-size:27px 33px !important;
  }
}


/* ==========================================================
   v0.6.91 — SWITCH LUCCHETTO PERIODO + SIZE FICHE/RUBRICA
   ========================================================== */

/* LUCCCHETTO SOPRA "PERIODO":
   ora usa un vero <img>, così lo switch grigio↔magenta è affidabile. */
#view-fiches .global-lock-btn{
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  cursor:pointer !important;
  transform-origin:center !important;
}
#view-fiches .global-lock-btn .global-lock-png{
  display:block !important;
  width:30px !important;
  height:36px !important;
  max-width:30px !important;
  max-height:36px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
  transform-origin:center !important;
  transition:transform .18s ease, filter .18s ease, opacity .18s ease !important;
}

/* Piccola animazione visibile quando apre/chiude o cambia filtro. */
#view-fiches .global-lock-btn.lock-switch-animate .global-lock-png{
  animation:cpGlobalLockSwitch .42s cubic-bezier(.2,.78,.28,1) !important;
}
@keyframes cpGlobalLockSwitch{
  0%{transform:scale(1) rotate(0deg);opacity:1}
  28%{transform:scale(.72) rotate(-8deg);opacity:.55}
  58%{transform:scale(1.18) rotate(5deg);opacity:1}
  100%{transform:scale(1) rotate(0deg);opacity:1}
}
#view-fiches .global-lock-btn.closed .global-lock-png,
#view-fiches .global-lock-btn.filter-active .global-lock-png{
  filter:drop-shadow(0 0 3px rgba(209,0,75,.18)) !important;
}

/* LUCCHETTO SULLE RIGHE FICHES:
   portato alla stessa PRESENZA VISIVA della rubrica accanto.
   La PNG ha margine trasparente interno, quindi il canvas è leggermente
   più grande per ottenere circa la stessa impronta visiva di contacts-active. */
#view-fiches .fiche-row-actions .padlock-btn{
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
}
#view-fiches .fiche-row-actions .padlock-btn .lock-png{
  width:38px !important;
  max-width:38px !important;
  height:38px !important;
  max-height:38px !important;
  object-fit:contain !important;
  filter:none !important;
}

/* Rubrica accanto: non viene ridisegnata; usata solo come riferimento dimensionale. */
#view-fiches .fiche-row-actions .fiche-client-card{
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin-right:0 !important;
}
#view-fiches .fiche-row-actions .fiche-client-card img{
  width:32px !important;
  height:32px !important;
  max-width:32px !important;
  max-height:32px !important;
  object-fit:contain !important;
}

/* Mantiene allineamento timer / lock / rubrica. */
#view-fiches .fiche-row-actions{
  align-items:center !important;
}

@media(max-width:760px){
  #view-fiches .global-lock-btn .global-lock-png{
    width:27px !important;
    max-width:27px !important;
    height:33px !important;
    max-height:33px !important;
  }
  #view-fiches .fiche-row-actions .padlock-btn,
  #view-fiches .fiche-row-actions .fiche-client-card{
    width:34px !important;
    min-width:34px !important;
    height:38px !important;
    min-height:38px !important;
  }
  #view-fiches .fiche-row-actions .padlock-btn .lock-png{
    width:34px !important;
    max-width:34px !important;
    height:34px !important;
    max-height:34px !important;
  }
  #view-fiches .fiche-row-actions .fiche-client-card img{
    width:28px !important;
    max-width:28px !important;
    height:32px !important;
    max-height:32px !important;
  }
}


/* ==========================================================
   v0.6.92 — LUCCHETTO PERIODO CAMBIA SOLO DOPO LA SCELTA
   ========================================================== */

/* Il click sul lucchetto apre soltanto il menu.
   Il colore viene determinato esclusivamente dal filtro scelto:
   Tutti = grigio, filtro specifico = magenta. */
#view-fiches .global-lock-btn[data-filter-state="all"] .global-lock-png{
  filter:none !important;
}


/* ==========================================================
   v0.6.93 — FILTRI FICHES BASATI SU SALDO REALE
   ========================================================== */

/* TUTTI può contenere righe grigie e magenta.
   Nei filtri operativi (Aperte / Da saldare / Da stampare / Non pagate)
   il backend restituisce soltanto Fiches ancora da saldare,
   quindi le righe risultano coerentemente con lucchetto grigio. */
#ficheLockPopover button.active{
  font-weight:600 !important;
}


/* ==========================================================
   v0.6.94 — LUCCHETTO PERIODO: TUTTI ROSSO, FILTRI GRIGI
   ========================================================== */

/* Stato superiore indipendente dallo stato pagamento delle singole Fiches:
   TUTTI = lucchetto magenta/rosso;
   APERTE / DA SALDARE / DA STAMPARE / NON PAGATE = grigio. */
#view-fiches .global-lock-btn[data-filter-state="all"] .global-lock-png{
  filter:none !important;
}
#view-fiches .global-lock-btn[data-filter-state="all"]{
  color:#d10042 !important;
}
#view-fiches .global-lock-btn:not([data-filter-state="all"]){
  color:#7e7e84 !important;
}


/* ==========================================================
   v0.6.95 — FILTRO PAGATE AL POSTO DI NON PAGATE
   ========================================================== */

/* Stato del lucchetto sopra PERIODO:
   TUTTI   = magenta
   PAGATE  = magenta
   APERTE  = grigio
   DA SALDARE = grigio
   DA STAMPARE = grigio */
#view-fiches .global-lock-btn[data-filter-state="all"] .global-lock-png,
#view-fiches .global-lock-btn[data-filter-state="locked"] .global-lock-png{
  filter:none !important;
}


/* ==========================================================
   v0.6.96 — NON PAGATE + PAGATE, PACCHETTO UNICO 694+695
   ========================================================== */

/* Colore lucchetto sopra PERIODO:
   TUTTI       = magenta
   APERTE      = grigio
   DA SALDARE  = grigio
   DA STAMPARE = grigio
   NON PAGATE  = grigio
   PAGATE      = magenta
*/
#view-fiches .global-lock-btn[data-filter-state="unpaid"] .global-lock-png{
  filter:none !important;
}


/* ==========================================================
   v0.6.97 — FIALA FUSIO-DOSE NELLA SCHEDA TECNICA
   ========================================================== */

#technicalModal .technical-note-field{
  position:relative !important;
}

/* Sposta leggermente l'orologio a sinistra per fare posto alla fialetta. */
#technicalModal .technical-note-field .note-clock{
  right:43px !important;
  top:27px !important;
  width:32px !important;
  height:32px !important;
  z-index:4 !important;
}

/* Fialetta sempre rossa/magenta, subito a destra dell'orologio. */
#technicalModal .technical-note-field .note-vial{
  position:absolute !important;
  right:7px !important;
  top:27px !important;
  width:32px !important;
  height:32px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:var(--pink) !important;
  cursor:pointer !important;
  z-index:4 !important;
  transition:transform .12s ease, background-color .12s ease !important;
}
#technicalModal .technical-note-field .note-vial:hover{
  background:rgba(214,0,66,.08) !important;
}
#technicalModal .technical-note-field .note-vial:active{
  transform:scale(.92) !important;
}
#technicalModal .technical-note-field .note-vial:focus-visible{
  outline:2px solid var(--pink) !important;
  outline-offset:1px !important;
}
#technicalModal .technical-note-field .tech-vial-svg{
  width:19px !important;
  height:19px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Due pulsanti laterali: più spazio nel textarea per non coprire il testo. */
#technicalModal .technical-note-field textarea{
  padding-right:82px !important;
}

@media(max-width:760px){
  #technicalModal .technical-note-field .note-clock{
    right:47px !important;
    top:25px !important;
    width:36px !important;
    height:36px !important;
  }
  #technicalModal .technical-note-field .note-vial{
    right:7px !important;
    top:25px !important;
    width:36px !important;
    height:36px !important;
  }
  #technicalModal .technical-note-field .tech-vial-svg{
    width:20px !important;
    height:20px !important;
  }
  #technicalModal .technical-note-field textarea{
    padding-right:90px !important;
  }
}


/* ==========================================================
   v0.6.98 — DATA SERVER EUROPE/ROME PER OROLOGIO E FIALA
   ========================================================== */


/* ==========================================================
   v0.6.99 — FUSIO-DOSE SENZA DATA AUTOMATICA
   ========================================================== */


/* ==========================================================
   v0.7.00 — AVATAR CLIENTI COME SALONAPP ORIGINALE
   ========================================================== */
#view-clients .round-client-icon{
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 6px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
#view-clients .round-client-icon .sa-client-avatar-png{
  display:block !important;
  width:36px !important;
  height:36px !important;
  max-width:36px !important;
  max-height:36px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}
@media(max-width:760px){
  #view-clients .round-client-icon{
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    margin-right:6px !important;
  }
  #view-clients .round-client-icon .sa-client-avatar-png{
    width:36px !important;
    height:36px !important;
    max-width:36px !important;
    max-height:36px !important;
  }
}


/* ==========================================================
   v0.7.01 — FICHES MOBILE: TAP LOCK PERIODO + SPAZI
   ========================================================== */

/* Il date input invisibile non deve mai coprire il lucchetto vicino.
   Il calendario si apre esclusivamente dal suo bottone visibile. */
#view-fiches .fiche-calendar-control{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
#view-fiches .fiche-day-native{
  position:fixed !important;
  left:-10000px !important;
  top:-10000px !important;
  width:1px !important;
  min-width:1px !important;
  height:1px !important;
  min-height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:-1 !important;
}
#view-fiches .period-calendar-btn{
  position:relative !important;
  z-index:2 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}

/* Area touch del lucchetto completamente indipendente dal calendario. */
#view-fiches .global-lock-btn{
  position:relative !important;
  z-index:12 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  isolation:isolate !important;
  -webkit-tap-highlight-color:transparent !important;
}
#view-fiches .global-lock-btn .global-lock-png{
  pointer-events:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}

/* Popover sempre sopra la pagina e ancorato dal JS sotto il lucchetto. */
#ficheLockPopover{
  z-index:350 !important;
  max-width:calc(100vw - 16px) !important;
  border-radius:4px !important;
  overflow:hidden !important;
}

/* Spaziatura mobile più regolare: Periodo + azioni riga. */
@media(max-width:760px){
  #view-fiches .fiche-period-summary{
    padding-left:10px !important;
    padding-right:10px !important;
  }
  #view-fiches .fiche-period-actions{
    gap:7px !important;
    align-items:center !important;
    position:relative !important;
    z-index:20 !important;
  }
  #view-fiches .fiche-calendar-control,
  #view-fiches .period-calendar-btn,
  #view-fiches .global-lock-btn{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    flex:0 0 44px !important;
  }
  #view-fiches .global-lock-btn .global-lock-png{
    width:29px !important;
    max-width:29px !important;
    height:35px !important;
    max-height:35px !important;
  }

  #view-fiches .fiche-row{
    padding-left:10px !important;
    padding-right:8px !important;
    gap:8px !important;
  }
  #view-fiches .fiche-row-actions{
    gap:2px !important;
    margin-left:5px !important;
    padding-right:0 !important;
    align-items:center !important;
  }
  #view-fiches .fiche-timer-wrap{
    margin-right:0 !important;
    gap:2px !important;
  }
  #view-fiches .fiche-row-actions .padlock-btn,
  #view-fiches .fiche-row-actions .fiche-client-card{
    width:38px !important;
    min-width:38px !important;
    height:40px !important;
    min-height:40px !important;
  }
  #view-fiches .fiche-row-actions .padlock-btn .lock-png{
    width:38px !important;
    max-width:38px !important;
    height:38px !important;
    max-height:38px !important;
  }
  #view-fiches .fiche-row-actions .fiche-client-card img{
    width:32px !important;
    max-width:32px !important;
    height:34px !important;
    max-height:34px !important;
  }
}

@media(max-width:390px){
  #view-fiches .fiche-period-actions{gap:4px !important}
  #view-fiches .fiche-row-actions{gap:1px !important;margin-left:2px !important}
  #view-fiches .fiche-row-actions .padlock-btn,
  #view-fiches .fiche-row-actions .fiche-client-card{
    width:35px !important;
    min-width:35px !important;
  }
}


/* ==========================================================
   v0.7.02 — CALENDARIO PERIODO MOBILE RIPRISTINATO
   ========================================================== */

/* Desktop: resta il comportamento v0.7.01, quindi il date input non
   può interferire con il lucchetto. */
@media(min-width:761px){
  #view-fiches .fiche-day-native{
    position:fixed !important;
    left:-10000px !important;
    top:-10000px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    z-index:-1 !important;
  }
}

/* iPhone / telefono:
   Safari apre in modo affidabile il selettore data quando il tap colpisce
   direttamente un <input type="date">. Lo sovrapponiamo ESATTAMENTE ai
   44x44 px del calendario, senza estenderlo verso il lucchetto. */
@media(max-width:760px){
  #view-fiches .fiche-calendar-control{
    position:relative !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    flex:0 0 44px !important;
    overflow:hidden !important;
    isolation:isolate !important;
  }

  #view-fiches .fiche-calendar-control .period-calendar-btn{
    position:absolute !important;
    inset:0 !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    z-index:2 !important;
    pointer-events:none !important;
  }

  #view-fiches .fiche-day-native{
    position:absolute !important;
    inset:0 !important;
    left:0 !important;
    top:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    opacity:.001 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    z-index:8 !important;
    touch-action:manipulation !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }

  #view-fiches .fiche-day-native::-webkit-calendar-picker-indicator{
    position:absolute !important;
    inset:0 !important;
    width:44px !important;
    height:44px !important;
    margin:0 !important;
    padding:0 !important;
    opacity:1 !important;
    cursor:pointer !important;
  }

  /* Il lucchetto resta una hitbox separata e più alta nello stacking. */
  #view-fiches .global-lock-btn{
    position:relative !important;
    z-index:20 !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    flex:0 0 44px !important;
    pointer-events:auto !important;
  }

  #view-fiches .fiche-period-actions{
    gap:7px !important;
    align-items:center !important;
  }
}


/* ==========================================================
   v0.7.03 — CALENDARIO FICHES CUSTOM, MOBILE/PC
   ========================================================== */

/* Il vecchio input date resta solo come stato interno.
   NON riceve più tap: il calendario è completamente custom. */
#view-fiches .fiche-day-native{
  position:fixed !important;
  left:-10000px !important;
  top:-10000px !important;
  width:1px !important;
  min-width:1px !important;
  max-width:1px !important;
  height:1px !important;
  min-height:1px !important;
  max-height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:-1 !important;
}
#view-fiches .fiche-calendar-control .period-calendar-btn{
  position:relative !important;
  inset:auto !important;
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  z-index:8 !important;
}
#view-fiches .fiche-calendar-control{
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  flex:0 0 44px !important;
  overflow:visible !important;
}

/* Dialog calendario */
.fiche-day-dialog{
  width:min(360px,92vw) !important;
  max-width:92vw !important;
  padding:0 !important;
  border:0 !important;
  border-radius:12px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 20px 60px rgba(0,0,0,.30) !important;
}
.fiche-day-dialog::backdrop{
  background:rgba(0,0,0,.28) !important;
}
.fiche-day-picker{
  background:#fff !important;
  padding:0 12px 14px !important;
}
.fiche-day-picker-head{
  height:52px !important;
  display:grid !important;
  grid-template-columns:52px 1fr 58px !important;
  align-items:center !important;
  border-bottom:1px solid #eee !important;
  color:var(--pink) !important;
}
.fiche-day-picker-head button{
  height:44px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  font-size:19px !important;
}
.fiche-day-picker-head button:first-child{
  font-size:30px !important;
}
.fiche-day-picker-head strong{
  text-align:center !important;
  font-size:17px !important;
  font-weight:400 !important;
}
.fiche-day-month-nav{
  height:54px !important;
  display:grid !important;
  grid-template-columns:46px 1fr 46px !important;
  align-items:center !important;
  color:#333 !important;
}
.fiche-day-month-nav button{
  width:40px !important;
  height:40px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  font-size:30px !important;
}
.fiche-day-month-nav span{
  text-align:center !important;
  font-size:16px !important;
  text-transform:capitalize !important;
}
.fiche-day-week,
.fiche-day-grid{
  display:grid !important;
  grid-template-columns:repeat(7,1fr) !important;
}
.fiche-day-week{
  height:28px !important;
  align-items:center !important;
  color:#999 !important;
  font-size:11px !important;
  text-align:center !important;
}
.fiche-day-grid{
  gap:2px !important;
}
.fiche-day-grid .empty{
  height:40px !important;
}
.fiche-day-cell{
  height:40px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#333 !important;
  font-size:15px !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
}
.fiche-day-cell.today{
  outline:1px solid var(--pink) !important;
  outline-offset:-4px !important;
}
.fiche-day-cell.selected{
  background:var(--pink) !important;
  color:#fff !important;
  font-weight:600 !important;
}
.fiche-day-cell:active{
  transform:scale(.94) !important;
}

@media(max-width:760px){
  .fiche-day-dialog{
    width:min(350px,94vw) !important;
    max-width:94vw !important;
  }
  .fiche-day-cell{
    height:42px !important;
  }
  #view-fiches .fiche-period-actions{
    gap:7px !important;
  }
}


/* ==========================================================
   v0.7.04 — AUDIT PROFONDO FICHE: SCROLL PC + MOBILE
   ========================================================== */

/*
  Problema trovato:
  nel tempo erano rimaste più regole concorrenti per .fiche-layout:
  alcune la rendevano scrollabile, altre (più in basso) impostavano
  overflow:hidden. Su mobile il figlio .fiche-left aveva height:auto,
  quindi cresceva oltre il viewport ma il parent lo tagliava: swipe bloccato.

  Da questa versione lo schema è unico e finale:
  - PC: 2 colonne, scroller indipendente servizi/pagamenti.
  - Mobile: UN SOLO scroller verticale = .fiche-layout.
*/

/* BASE COMUNE FICHE */
#ficheModal.fiche-route-dialog[open]{
  overflow:hidden !important;
  padding:0 !important;
}
#ficheModal .fiche-form{
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
#ficheModal .fiche-header{
  flex:0 0 64px !important;
  min-height:64px !important;
}
#ficheModal .fiche-layout{
  flex:1 1 auto !important;
  min-height:0 !important;
  width:100% !important;
}

/* ---------------- PC / TABLET LARGO ---------------- */
@media (min-width:761px){
  #ficheModal.fiche-route-dialog[open]{
    height:calc(100dvh - var(--footer)) !important;
    max-height:calc(100dvh - var(--footer)) !important;
  }
  #ficheModal .fiche-layout{
    display:grid !important;
    grid-template-columns:minmax(0,56%) minmax(0,44%) !important;
    height:auto !important;
    overflow:hidden !important;
  }
  #ficheModal .fiche-left{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
  }
  #ficheModal .fiche-items{
    flex:0 0 auto !important;
    overflow:visible !important;
  }
  #ficheModal .fiche-service-picker{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    overscroll-behavior-y:contain !important;
  }
  #ficheModal .payment-box{
    display:block !important;
    min-height:0 !important;
    height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    overscroll-behavior-y:contain !important;
  }
}

/* ---------------- TELEFONO ---------------- */
@media (max-width:760px){
  #ficheModal.fiche-route-dialog[open]{
    position:fixed !important;
    inset:0 0 var(--footer) 0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:calc(var(--fiche-viewport-height,100dvh) - var(--footer)) !important;
    max-height:calc(var(--fiche-viewport-height,100dvh) - var(--footer)) !important;
    min-height:0 !important;
    margin:0 !important;
    border-radius:0 !important;
    overscroll-behavior:none !important;
  }

  #ficheModal .fiche-header{
    flex:0 0 54px !important;
    height:54px !important;
    min-height:54px !important;
    position:relative !important;
    top:auto !important;
    z-index:40 !important;
  }

  /* UNICO SCROLLER MOBILE */
  #ficheModal .fiche-layout{
    display:block !important;
    flex:1 1 auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    overscroll-behavior-y:auto !important;
    scroll-behavior:auto !important;
    scroll-padding-bottom:92px !important;
    position:relative !important;
    z-index:1 !important;
  }

  /* I figli NON devono creare/rompere un secondo scroller verticale. */
  #ficheModal .fiche-left{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:82px !important;
    border-right:0 !important;
    touch-action:pan-y !important;
  }
  #ficheModal .fiche-items{
    flex:0 0 auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  #ficheModal .fiche-service-picker{
    flex:0 0 auto !important;
    height:auto !important;
    min-height:120px !important;
    max-height:none !important;
    overflow:visible !important;
  }

  /* Il pannello pagamenti mobile rimane gestito dal flusso già approvato. */
  #ficheModal .payment-box{
    display:none !important;
  }

  /* Barra cliente sempre accessibile, senza bloccare lo swipe del contenuto. */
  #ficheModal .fiche-client-bottom{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:var(--footer) !important;
    z-index:220 !important;
    height:54px !important;
    min-height:54px !important;
    pointer-events:auto !important;
  }

  /* Niente elementi trasparenti sopra l'area scrollabile. */
  #ficheModal .fiche-layout::before,
  #ficheModal .fiche-layout::after{
    pointer-events:none !important;
  }

  #ficheModal input,
  #ficheModal select,
  #ficheModal textarea,
  #ficheModal button{
    touch-action:manipulation;
  }
  #ficheModal .fiche-layout,
  #ficheModal .fiche-left,
  #ficheModal .fiche-items,
  #ficheModal .fiche-service-picker{
    -webkit-user-select:auto;
    user-select:auto;
  }
}

/* iPhone molto stretto: stessa meccanica, senza cambiare scroller. */
@media (max-width:390px){
  #ficheModal .fiche-layout{
    scroll-padding-bottom:88px !important;
  }
  #ficheModal .fiche-left{
    padding-bottom:78px !important;
  }
}


/* ==========================================================
   v0.7.06 — MOBILE PARITY SALONAPP ORIGINALE (VIDEO 21/08)
   ========================================================== */

/* Desktop invariato. */
.fiche-mobile-paybar{display:none}

/* ---------- CLIENTI: sheet mobile scrollabile come originale ---------- */
@media(max-width:760px){
  #clientModal.client-dialog[open]{
    position:fixed !important;
    inset:0 0 var(--footer) 0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:calc(100dvh - var(--footer)) !important;
    max-height:calc(100dvh - var(--footer)) !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }
  #clientModal .salon-modal-form{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
  }
  #clientModal .salon-modal-head{
    position:sticky !important;
    top:0 !important;
    z-index:50 !important;
  }
}

/* ---------- FICHE: layout della barra inferiore originale ---------- */
@media(max-width:760px){
  #ficheModal .fiche-left{
    padding-bottom:58px !important;
  }

  /* Client bar a sinistra, come nel video originale. */
  #ficheModal .fiche-client-bottom{
    position:fixed !important;
    left:0 !important;
    right:auto !important;
    bottom:max(var(--footer),var(--fiche-keyboard-gap,0px)) !important;
    width:67% !important;
    max-width:67% !important;
    height:48px !important;
    min-height:48px !important;
    z-index:610 !important;
    display:grid !important;
    grid-template-columns:29px minmax(0,1fr) 27px 25px !important;
    align-items:center !important;
    gap:0 !important;
    padding:0 4px !important;
    background:#fff !important;
    border-top:1px solid #ddd !important;
    box-shadow:0 -2px 7px rgba(0,0,0,.10) !important;
    transition:bottom .08s linear !important;
    overflow:visible !important;
  }

  /* Totale + lock a destra, sempre visibile come SalonApp. */
  #ficheModal .fiche-mobile-paybar{
    position:fixed !important;
    display:flex !important;
    left:67% !important;
    right:0 !important;
    bottom:max(var(--footer),var(--fiche-keyboard-gap,0px)) !important;
    width:33% !important;
    height:48px !important;
    min-height:48px !important;
    z-index:611 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    padding:0 7px !important;
    background:#fff !important;
    border-top:1px solid #ddd !important;
    border-left:1px solid #ddd !important;
    box-shadow:0 -2px 7px rgba(0,0,0,.10) !important;
    color:var(--pink) !important;
    transition:bottom .08s linear !important;
  }
  #ficheModal .fiche-mobile-paybar b{
    font-size:20px !important;
    line-height:1 !important;
    font-weight:400 !important;
    white-space:nowrap !important;
  }
  #ficheModal .fiche-mobile-lock{
    width:31px !important;
    min-width:31px !important;
    height:38px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    display:grid !important;
    place-items:center !important;
    touch-action:manipulation !important;
  }
  #ficheModal .fiche-mobile-lock .lock-png{
    width:29px !important;
    max-width:29px !important;
    height:34px !important;
    max-height:34px !important;
    object-fit:contain !important;
    filter:none !important;
  }

  #ficheModal .fiche-client-person{
    width:27px !important;
    height:27px !important;
  }
  #ficheModal .fiche-client-search-wrap{
    position:relative !important;
    min-width:0 !important;
    overflow:visible !important;
  }
  #ficheModal #ficheClientSearch{
    width:100% !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 5px !important;
    border:0 !important;
    border-bottom:1px solid #9d9d9d !important;
    border-radius:0 !important;
    box-shadow:none !important;
    outline:none !important;
    background:#fff !important;
    color:#333 !important;
    font-size:12px !important;
    touch-action:manipulation !important;
    -webkit-appearance:none !important;
  }
  #ficheModal #ficheClientSearch:focus{
    border-bottom-color:var(--pink) !important;
  }
  #ficheModal .fiche-client-clear,
  #ficheModal .fiche-client-caret{
    width:26px !important;
    min-width:26px !important;
    height:40px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    display:grid !important;
    place-items:center !important;
    touch-action:manipulation !important;
  }

  /* Suggerimento compatto SOPRA la barra, esattamente come il video.
     pointerdown/touchstart seleziona prima che iOS perda il click. */
  #ficheModal .fiche-client-suggestions{
    position:absolute !important;
    left:-29px !important;
    right:-52px !important;
    bottom:calc(100% + 2px) !important;
    width:auto !important;
    max-height:min(210px,38dvh) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    z-index:9999 !important;
    background:#fff !important;
    border:1px solid #d1d1d1 !important;
    border-radius:0 !important;
    box-shadow:0 -5px 16px rgba(0,0,0,.20) !important;
    padding:0 !important;
  }
  #ficheModal .fiche-client-suggestion{
    width:100% !important;
    min-height:39px !important;
    display:flex !important;
    align-items:center !important;
    gap:5px !important;
    padding:4px 7px !important;
    border:0 !important;
    border-bottom:1px solid #e7e7e7 !important;
    background:#fff !important;
    color:#333 !important;
    text-align:left !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent !important;
  }
  #ficheModal .fiche-client-suggestion:active,
  #ficheModal .fiche-client-suggestion.active{
    background:#fff2f6 !important;
  }
  #ficheModal .fiche-client-suggestion>span{
    width:20px !important;
    min-width:20px !important;
    height:20px !important;
    display:grid !important;
    place-items:center !important;
  }
  #ficheModal .fiche-client-suggestion .sa-client-avatar-png{
    width:18px !important;
    height:18px !important;
    max-width:18px !important;
    max-height:18px !important;
  }
  #ficheModal .fiche-client-suggestion b{
    min-width:0 !important;
    max-width:68% !important;
    font-size:11px !important;
    font-weight:400 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  #ficheModal .fiche-client-suggestion small{
    display:inline !important;
    min-width:0 !important;
    font-size:10px !important;
    color:#666 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Con tastiera aperta il bottom nav è coperto dalla tastiera:
     la barra Fiche si ancora direttamente sopra la tastiera. */
  html.fiche-keyboard-open #ficheModal .fiche-client-bottom,
  html.fiche-keyboard-open #ficheModal .fiche-mobile-paybar{
    bottom:var(--fiche-keyboard-gap,0px) !important;
  }

  /* Il payment box desktop resta fuori dalla schermata Fiche mobile.
     Si apre con il lucchetto nel dialog Pagamenti dedicato. */
  #ficheModal .payment-box{display:none !important}

  /* Dialog pagamento come pagina mobile, come nel video. */
  #paymentConfirmModal.payment-confirm-dialog[open]{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }
  #paymentConfirmModal .salon-modal-form{
    height:100% !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
  }
  #paymentConfirmModal .payment-confirm-head{
    position:sticky !important;
    top:0 !important;
    z-index:30 !important;
  }

  /* Scheda tecnica / storico: pagina mobile scrollabile. */
  #technicalModal.technical-dialog[open],
  #clientHistoryModal.history-dialog[open]{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }
  #technicalModal .salon-modal-form,
  #clientHistoryModal .salon-modal-form{
    height:100% !important;
    max-height:none !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  /* Collaboratore: pannello sovrapposto, scelta a singolo tap. */
  #dynamicCollabPicker.collab-choice-dialog[open]{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    max-height:78dvh !important;
    margin:auto !important;
    padding:0 !important;
    border-radius:0 !important;
  }
  #dynamicCollabPicker .collab-choice-list{
    max-height:62dvh !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  /* Evita che vecchie regole spostino la barra sotto la tastiera. */
  #ficheModal .fiche-layout{
    padding-bottom:52px !important;
  }
}

/* ---------- FICHE LIST / CLIENTI SWIPE ---------- */
@media(max-width:760px){
  #view-fiches .fiche-slide,
  #view-clients .client-row{
    touch-action:pan-y !important;
  }
}

/* Dark mode delle nuove barre. */
body.theme-dark #ficheModal .fiche-client-bottom,
body.theme-dark #ficheModal .fiche-mobile-paybar,
body.theme-dark #ficheModal #ficheClientSearch,
body.theme-dark #ficheModal .fiche-client-suggestions,
body.theme-dark #ficheModal .fiche-client-suggestion{
  background:var(--theme-surface,#15151a) !important;
  color:var(--theme-text,#f4f4f5) !important;
  border-color:var(--theme-line,#2a2a31) !important;
}


/* ==========================================================
   v0.7.07 — FICHE MOBILE: ZERO AUTO-ZOOM / LAYOUT STABILE
   ========================================================== */

@media(max-width:760px){
  /* iOS fa auto-zoom quando un input ha font <16px.
     Tutti i controlli editabili della Fiche sono quindi >=16px. */
  #ficheModal input:not([type="hidden"]),
  #ficheModal select,
  #ficheModal textarea,
  #ficheModal input[type="search"],
  #ficheModal input[type="number"],
  #ficheModal input[type="text"]{
    font-size:16px !important;
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }

  #ficheModal #ficheClientSearch{
    font-size:16px !important;
    line-height:1.2 !important;
    transform:none !important;
    zoom:1 !important;
  }
  #ficheModal #ficheServiceSearch{
    font-size:16px !important;
    transform:none !important;
    zoom:1 !important;
  }

  /* Il dialog non viene più ristretto in base alla tastiera/visualViewport.
     Così sparisce il salto che nel video lasciava una grande area bianca. */
  #ficheModal.fiche-route-dialog[open]{
    top:0 !important;
    height:calc(100dvh - var(--footer)) !important;
    max-height:calc(100dvh - var(--footer)) !important;
    min-height:0 !important;
    transform:none !important;
    zoom:1 !important;
  }

  /* Barra cliente e totale restano nella posizione normale.
     Niente compensazione manuale della tastiera: su iPhone causava il doppio salto. */
  #ficheModal .fiche-client-bottom,
  #ficheModal .fiche-mobile-paybar,
  html.fiche-keyboard-open #ficheModal .fiche-client-bottom,
  html.fiche-keyboard-open #ficheModal .fiche-mobile-paybar{
    bottom:var(--footer) !important;
    transform:none !important;
  }

  #ficheModal .fiche-client-suggestions{
    transform:none !important;
    zoom:1 !important;
  }

  /* Niente auto text scaling Safari dentro la Fiche. */
  html.fiche-editor-open,
  html.fiche-editor-open body,
  html.fiche-editor-open #ficheModal{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }
}


/* ==========================================================
   v0.7.08 — CLIENTI MOBILE: ZERO AUTO-ZOOM
   ========================================================== */

@media(max-width:760px){
  /* Safari/iPhone: tutti i controlli editabili >=16px, così il focus
     non innesca mai l'auto-zoom nativo. */
  #clientModal input:not([type="hidden"]),
  #clientModal select,
  #clientModal textarea,
  #clientModal input[type="search"],
  #clientModal input[type="text"],
  #clientModal input[type="tel"],
  #clientModal input[type="email"],
  #clientModal input[type="number"]{
    font-size:16px !important;
    line-height:1.2 !important;
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
    transform:none !important;
    zoom:1 !important;
  }

  /* Il modal Cliente deve restare a scala 1 durante tutta la modifica. */
  #clientModal.client-dialog[open],
  #clientModal #clientForm,
  #clientModal .client-pane,
  #clientModal .salon-modal-head{
    transform:none !important;
    zoom:1 !important;
  }

  html.client-editor-open,
  html.client-editor-open body,
  html.client-editor-open #clientModal{
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }

  /* Niente resize/trasformazioni visive durante focus e tastiera. */
  html.client-editor-open #clientModal.client-dialog[open]{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    transform:none !important;
  }

  /* Mantiene campi principali leggibili senza cambiare layout. */
  #clientModal #cFirst,
  #clientModal #cLast,
  #clientModal #cPhone,
  #clientModal #cPhone2,
  #clientModal #cEmail,
  #clientModal #cAddress,
  #clientModal #cCity,
  #clientModal #cPostal,
  #clientModal #cNotes{
    font-size:16px !important;
  }
}


/* ==========================================================
   v0.7.09 — CLIENTI MOBILE: PALETTE COLORI TOUCH
   ========================================================== */

.client-color-field{
  grid-column:1/-1 !important;
  display:block !important;
  position:relative !important;
  overflow:visible !important;
}
.client-color-label{
  display:block !important;
  margin-bottom:6px !important;
}

.client-color-palette{
  position:relative !important;
  z-index:5 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
}
.client-color-swatch{
  position:relative !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  cursor:pointer !important;
}
.client-color-swatch .client-color-check{
  position:absolute !important;
  inset:0 !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:700 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
  pointer-events:none !important;
}
.client-color-swatch[data-color="#F2CD11"] .client-color-check,
.client-color-swatch[data-color="#E7E75A"] .client-color-check,
.client-color-swatch[data-color="#B7A57A"] .client-color-check{
  color:#222 !important;
  text-shadow:none !important;
}

@media(max-width:760px){
  #clientModal .client-color-field{
    width:100% !important;
    min-width:0 !important;
    padding-bottom:6px !important;
    touch-action:pan-y !important;
  }

  #clientModal .client-color-palette{
    display:grid !important;
    grid-template-columns:repeat(4,44px) !important;
    gap:10px !important;
    align-items:center !important;
    justify-content:start !important;
    padding:8px 2px 10px !important;
    min-height:54px !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    overflow:visible !important;
  }

  #clientModal .client-color-swatch{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    border:3px solid #fff !important;
    border-radius:5px !important;
    background:var(--swatch) !important;
    box-shadow:0 0 0 1px #bfc0c7 !important;
    transform:none !important;
    opacity:1 !important;
    z-index:10 !important;
  }

  #clientModal .client-color-swatch.active{
    box-shadow:0 0 0 2px var(--pink),0 0 0 5px #fff !important;
    transform:none !important;
  }

  #clientModal .client-color-swatch:active{
    transform:scale(.92) !important;
  }

  /* Nessun elemento del form deve sovrapporsi alla palette. */
  #clientModal .client-color-field,
  #clientModal .client-color-palette,
  #clientModal .client-color-swatch{
    isolation:isolate !important;
  }
}

body.theme-dark #clientModal .client-color-swatch{
  border-color:#222229 !important;
}
body.theme-dark #clientModal .client-color-swatch.active{
  box-shadow:0 0 0 2px var(--pink),0 0 0 5px #222229 !important;
}

/* ==========================================================
   v0.7.10 — SCALABILITÀ ARCHIVIO STORICO
   ========================================================== */
.clients-load-more{display:block!important;width:min(360px,calc(100% - 24px))!important;min-height:44px!important;margin:14px auto 24px!important;border:1px solid var(--pink)!important;border-radius:7px!important;background:transparent!important;color:var(--pink)!important;font-weight:600!important;cursor:pointer!important;touch-action:manipulation!important}
.remote-client-picker{position:relative!important;width:100%!important}.remote-client-picker>input[type="search"]{width:100%!important}.remote-client-suggestions{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 2px)!important;z-index:500!important;max-height:240px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;background:#fff!important;border:1px solid #ccc!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important}.remote-client-suggestions.hidden{display:none!important}.remote-client-suggestions button{width:100%!important;min-height:44px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;padding:6px 10px!important;border:0!important;border-bottom:1px solid #eee!important;background:#fff!important;text-align:left!important;touch-action:manipulation!important}.remote-client-suggestions button:active{background:#fff2f6!important}.remote-client-suggestions b{font-size:14px!important;font-weight:500!important}.remote-client-suggestions small{font-size:11px!important;color:#777!important}.remote-client-empty{padding:12px!important;color:#777!important}@media(max-width:760px){.remote-client-picker>input[type="search"]{font-size:16px!important}.remote-client-suggestions{max-height:34dvh!important}}body.theme-dark .remote-client-suggestions,body.theme-dark .remote-client-suggestions button{background:var(--theme-surface,#15151a)!important;border-color:var(--theme-line,#2a2a31)!important}


/* v0.7.11 — PROTEZIONE DATI / BACKUP */
.system-backup-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.system-grid small{
  display:block;
  margin-top:3px;
  opacity:.72;
  font-size:11px;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .system-backup-actions{display:grid;grid-template-columns:1fr}
  .system-backup-actions .salon-primary{min-height:44px}
}


/* ==========================================================
   v0.7.13 — REPORT CLIENTI INLINE COME SALONAPP ORIGINALE
   Riferimento: allegato 1 utente, 21/08/2026.
   ========================================================== */

#view-reports .report-client-period-inline{
  width:100% !important;
  min-height:238px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 214px !important;
  grid-template-rows:238px !important;
  background:#f4f4f4 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

#view-reports .report-client-period-inline.hidden{
  display:none !important;
}

#view-reports .report-client-inline-main{
  position:relative !important;
  min-width:0 !important;
  height:238px !important;
  background:#f3f3f3 !important;
  border:0 !important;
}

#view-reports .report-client-inline-label{
  position:absolute !important;
  left:14px !important;
  top:89px !important;
  color:var(--pink) !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
}

#view-reports .report-client-inline-visualizza{
  position:absolute !important;
  left:15px !important;
  bottom:0 !important;
  min-width:98px !important;
  height:27px !important;
  padding:0 10px !important;
  border:0 !important;
  border-radius:5px !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:27px !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
}

#view-reports .report-client-inline-wheelbox{
  height:238px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 82px !important;
  gap:4px !important;
  align-content:start !important;
  padding:14px 8px 10px 10px !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

#view-reports .report-client-inline-wheelbox .report-client-wheel{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:0 !important;
  min-width:0 !important;
}

#view-reports .report-client-inline-wheelbox .report-client-wheel button{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 5px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#bdbdbd !important;
  font-size:19px !important;
  font-weight:300 !important;
  line-height:34px !important;
  text-align:left !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
}

#view-reports .report-client-inline-wheelbox .report-client-year-wheel button{
  text-align:right !important;
}

#view-reports .report-client-inline-wheelbox .report-client-wheel button[data-offset="-1"],
#view-reports .report-client-inline-wheelbox .report-client-wheel button[data-offset="1"]{
  color:#222 !important;
}

#view-reports .report-client-inline-wheelbox .report-client-wheel button.selected{
  color:var(--pink) !important;
  font-size:20px !important;
  font-weight:400 !important;
}

/* Report Clienti non usa mai backdrop/modal per il filtro periodo. */
#reportPeriodModal.client-preset-mode{
  display:none !important;
}

/* Mobile: sempre inline, nessun popup e nessun overflow orizzontale. */
@media(max-width:760px){
  #view-reports .report-client-period-inline{
    grid-template-columns:minmax(0,64fr) minmax(142px,36fr) !important;
    grid-template-rows:minmax(226px,calc(100dvh - var(--top) - var(--footer))) !important;
    min-height:226px !important;
    overflow:hidden !important;
  }

  #view-reports .report-client-inline-main,
  #view-reports .report-client-inline-wheelbox{
    height:100% !important;
    min-height:226px !important;
  }

  #view-reports .report-client-inline-label{
    left:12px !important;
    top:78px !important;
    font-size:15px !important;
  }

  #view-reports .report-client-inline-visualizza{
    left:12px !important;
    bottom:8px !important;
    min-width:92px !important;
    height:30px !important;
    line-height:30px !important;
    font-size:14px !important;
  }

  #view-reports .report-client-inline-wheelbox{
    grid-template-columns:minmax(0,1fr) 66px !important;
    padding:13px 5px 8px 7px !important;
  }

  #view-reports .report-client-inline-wheelbox .report-client-wheel button{
    height:36px !important;
    min-height:36px !important;
    line-height:36px !important;
    padding:0 3px !important;
    font-size:16px !important;
  }

  #view-reports .report-client-inline-wheelbox .report-client-wheel button.selected{
    font-size:18px !important;
  }
}

body.theme-dark #view-reports .report-client-period-inline,
body.theme-dark #view-reports .report-client-inline-main{
  background:var(--theme-surface,#15151a) !important;
}
body.theme-dark #view-reports .report-client-inline-wheelbox{
  background:var(--theme-surface-2,#1d1d23) !important;
}


/* ==========================================================
   v0.7.14 — REPORT CLIENTI COME SOTTOSEZIONE REPORT BASE
   + ruote mese/anno scrollabili a rotella e trascinamento.
   ========================================================== */

#view-reports #reportBase .report-client-subsection{
  width:100% !important;
  min-height:248px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 210px !important;
  grid-template-rows:248px !important;
  margin:0 !important;
  border-top:1px solid #d6d6d6 !important;
  border-bottom:1px solid #d6d6d6 !important;
  background:#f5f5f5 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

#view-reports #reportBase .report-client-subsection.hidden{
  display:none !important;
}

#view-reports #reportBase .report-client-inline-main{
  height:248px !important;
  background:#f5f5f5 !important;
}

#view-reports #reportBase .report-client-inline-label{
  left:16px !important;
  top:90px !important;
}

#view-reports #reportBase .report-client-inline-visualizza{
  left:17px !important;
  bottom:10px !important;
}

#view-reports #reportBase .report-client-inline-wheelbox{
  height:248px !important;
  grid-template-columns:minmax(0,1fr) 82px !important;
  align-content:start !important;
  padding:13px 10px 10px 12px !important;
  background:#fff !important;
  overflow:hidden !important;
  touch-action:none !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}

#view-reports #reportBase .report-client-inline-wheelbox .report-client-wheel{
  justify-content:flex-start !important;
  gap:0 !important;
  touch-action:none !important;
  cursor:ns-resize !important;
  overscroll-behavior:contain !important;
}

#view-reports #reportBase .report-client-inline-wheelbox .report-client-wheel button{
  height:34px !important;
  min-height:34px !important;
  line-height:34px !important;
  font-size:19px !important;
  color:#bdbdbd !important;
  pointer-events:auto !important;
}

/* Con 3 righe: penultimo nero, selezionato magenta. */
#view-reports #reportBase .report-client-inline-wheelbox .report-client-wheel button[data-offset="-1"]{
  color:#222 !important;
}
#view-reports #reportBase .report-client-inline-wheelbox .report-client-wheel button.selected{
  color:var(--pink) !important;
  font-size:20px !important;
  font-weight:400 !important;
}

/* La riga Report Clienti resta sopra il pannello: nessuna pagina dedicata. */
#view-reports #reportBase .report-clients-menu-row{
  position:relative !important;
  z-index:2 !important;
}

/* PC: scrollbar della pagina normale, ruota mouse intercettata solo sulle date. */
@media(min-width:761px){
  #view-reports #reportBase .report-client-subsection{
    grid-template-columns:minmax(0,1fr) 210px !important;
  }
}

/* Mobile: sottosezione sempre dentro Report Base, non pagina separata. */
@media(max-width:760px){
  #view-reports #reportBase .report-client-subsection{
    grid-template-columns:minmax(0,62fr) minmax(146px,38fr) !important;
    grid-template-rows:220px !important;
    min-height:220px !important;
  }

  #view-reports #reportBase .report-client-inline-main,
  #view-reports #reportBase .report-client-inline-wheelbox{
    height:220px !important;
    min-height:220px !important;
  }

  #view-reports #reportBase .report-client-inline-label{
    left:12px !important;
    top:72px !important;
    font-size:15px !important;
  }

  #view-reports #reportBase .report-client-inline-visualizza{
    left:12px !important;
    bottom:9px !important;
  }

  #view-reports #reportBase .report-client-inline-wheelbox{
    grid-template-columns:minmax(0,1fr) 64px !important;
    padding:12px 5px 8px 7px !important;
  }

  #view-reports #reportBase .report-client-inline-wheelbox .report-client-wheel button{
    height:36px !important;
    min-height:36px !important;
    line-height:36px !important;
    font-size:16px !important;
  }

  #view-reports #reportBase .report-client-inline-wheelbox .report-client-wheel button.selected{
    font-size:18px !important;
  }
}

body.theme-dark #view-reports #reportBase .report-client-subsection,
body.theme-dark #view-reports #reportBase .report-client-inline-main{
  background:var(--theme-surface,#15151a) !important;
}
body.theme-dark #view-reports #reportBase .report-client-inline-wheelbox{
  background:var(--theme-surface-2,#1d1d23) !important;
}


/* ==========================================================
   v0.7.15 — REPORT CLIENTI FRECCE + BANCONOTA STILE SALONAPP
   ========================================================== */

/* Frecce circolari in strip report:
   niente glifo unicode grezzo, ma chevron centrato come nell'originale. */
#view-reports .report-detail-strip .round-arrow{
  position:relative !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  border-radius:50% !important;
  border:0 !important;
  padding:0 !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:none !important;
}
#view-reports .report-detail-strip .round-arrow::before{
  content:"" !important;
  width:10px !important;
  height:10px !important;
  border-right:2.5px solid #fff !important;
  border-bottom:2.5px solid #fff !important;
  display:block !important;
}
#view-reports .report-detail-strip .round-arrow.pale{
  background:#d8749b !important;
}
#view-reports .report-detail-strip .round-arrow:not(.pale){
  background:#d1004b !important;
}
#view-reports .report-detail-strip .round-arrow.pale::before{
  transform:rotate(135deg) translate(-1px,1px) !important;
}
#view-reports .report-detail-strip .round-arrow:not(.pale)::before{
  transform:rotate(-45deg) translate(-1px,1px) !important;
}
#view-reports .report-detail-strip .round-arrow:hover{
  filter:brightness(.98) !important;
}
#view-reports .report-detail-strip .round-arrow:active{
  transform:scale(.98) !important;
}

/* Icona banconota top-right: proporzioni e tratto vicini a SalonApp originale. */
.topbar .report-money-sort{
  width:36px !important;
  min-width:36px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:4px !important;
  background:transparent !important;
  color:var(--pink) !important;
  box-shadow:none !important;
}
.topbar .report-money-sort.active{
  background:var(--pink) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.report-money-glyph{
  width:22px !important;
  height:16px !important;
  display:block !important;
}
.report-money-glyph svg{
  width:22px !important;
  height:16px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.report-money-glyph text{
  display:none !important;
}

/* Leggera rifinitura del contesto anno per far respirare icone come nell'originale. */
.topbar .year-context{
  gap:10px !important;
}
.topbar .report-context-icon{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
}

@media(max-width:760px){
  #view-reports .report-detail-strip .round-arrow{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
  }
  .topbar .report-money-sort{
    width:34px !important;
    min-width:34px !important;
    height:32px !important;
    min-height:32px !important;
  }
  .report-money-glyph{
    width:20px !important;
    height:15px !important;
  }
  .report-money-glyph svg{
    width:20px !important;
    height:15px !important;
  }
}


/* ==========================================================
   v0.7.16 — REPORT CLIENTI HEADER 1:1 SALONAPP ORIGINALE
   Riferimento screenshot originale 1101×167 del 21/08/2026.
   ========================================================== */

/* HEADER: nell'originale è alto ~58px, non ~41px. */
.topbar.report-client-header{
  height:58px !important;
  min-height:58px !important;
  grid-template-columns:58px minmax(0,1fr) auto 0 !important;
  padding:0 !important;
  border-bottom:1px solid #eeeeee !important;
  box-shadow:0 3px 9px rgba(0,0,0,.13) !important;
  background:#fff !important;
  overflow:visible !important;
}

/* Freccia indietro superiore: posizione e forma dell'originale. */
.topbar.report-client-header #topLeftBtn.is-back{
  position:relative !important;
  width:58px !important;
  min-width:58px !important;
  height:58px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:transparent !important;
  font-size:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
}
.topbar.report-client-header #topLeftBtn.is-back::before{
  content:"" !important;
  position:absolute !important;
  left:20px !important;
  top:28px !important;
  width:19px !important;
  height:1.7px !important;
  background:var(--pink) !important;
  border-radius:2px !important;
}
.topbar.report-client-header #topLeftBtn.is-back::after{
  content:"" !important;
  position:absolute !important;
  left:20px !important;
  top:22px !important;
  width:10px !important;
  height:10px !important;
  border-left:1.8px solid var(--pink) !important;
  border-bottom:1.8px solid var(--pink) !important;
  transform:rotate(45deg) !important;
  transform-origin:center !important;
}

/* Titolo: in originale parte circa a x=75px. */
.topbar.report-client-header .top-title{
  height:58px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 0 0 16px !important;
  margin:0 !important;
}
.topbar.report-client-header .top-title #pageTitle{
  font-size:19px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:var(--pink) !important;
}

/* Contesto destra: Anno su due righe, spinner doppio, filtro e banconota. */
.topbar.report-client-header .top-context{
  height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  padding:0 10px 0 0 !important;
  overflow:visible !important;
}

.topbar.report-client-header .year-context{
  width:112px !important;
  height:52px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:0 !important;
  margin:0 !important;
  padding:1px 0 0 0 !important;
  color:var(--pink) !important;
}

.topbar.report-client-header .year-context-label{
  display:block !important;
  height:17px !important;
  line-height:17px !important;
  font-size:11px !important;
  font-weight:400 !important;
  color:var(--pink) !important;
  padding-left:1px !important;
}

.topbar.report-client-header .report-year-stepper{
  position:relative !important;
  width:112px !important;
  height:27px !important;
  display:block !important;
}

.topbar.report-client-header #topReportYear{
  width:112px !important;
  height:27px !important;
  min-height:27px !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#111 !important;
  font-size:17px !important;
  line-height:27px !important;
  font-weight:400 !important;
  padding:0 27px 0 1px !important;
  margin:0 !important;
  appearance:textfield !important;
  -moz-appearance:textfield !important;
}
.topbar.report-client-header #topReportYear::-webkit-outer-spin-button,
.topbar.report-client-header #topReportYear::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}

.topbar.report-client-header .report-year-spin{
  position:absolute !important;
  right:4px !important;
  top:1px !important;
  width:18px !important;
  height:25px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  pointer-events:auto !important;
}
.topbar.report-client-header .report-year-spin button{
  position:relative !important;
  width:18px !important;
  height:10px !important;
  min-height:10px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  cursor:pointer !important;
}
.topbar.report-client-header .report-year-spin button::before{
  content:"" !important;
  position:absolute !important;
  left:5px !important;
  width:7px !important;
  height:7px !important;
  border-right:2px solid #777 !important;
  border-bottom:2px solid #777 !important;
}
.topbar.report-client-header .report-year-up::before{
  top:4px !important;
  transform:rotate(225deg) !important;
}
.topbar.report-client-header .report-year-down::before{
  top:-1px !important;
  transform:rotate(45deg) !important;
}

/* Filtro: mantiene il disegno SalonApp, solo dimensione/posizione. */
.topbar.report-client-header .report-context-icon{
  width:28px !important;
  min-width:28px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  box-shadow:none !important;
}

/* BANCONOTA: sempre solo outline, MAI quadrato magenta di sfondo. */
.topbar.report-client-header .report-money-sort,
.topbar.report-client-header .report-money-sort.active{
  width:30px !important;
  min-width:30px !important;
  height:34px !important;
  min-height:34px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  box-shadow:none !important;
}
.topbar.report-client-header .report-money-glyph{
  width:25px !important;
  height:23px !important;
  display:block !important;
}
.topbar.report-client-header .report-money-glyph svg{
  width:25px !important;
  height:23px !important;
  overflow:visible !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

/* Nessuna colonna azioni residua nel dettaglio Report Clienti. */
.topbar.report-client-header .top-actions{
  width:0 !important;
  min-width:0 !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
}

/* STRIP PERIODO: frecce come triangoli pieni dell'originale. */
#view-reports #reportClientDetail .report-detail-strip{
  height:65px !important;
  min-height:65px !important;
  grid-template-columns:48px minmax(0,1fr) 48px !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
  box-shadow:0 3px 8px rgba(0,0,0,.10) !important;
}

#view-reports #reportClientDetail .report-detail-strip .round-arrow{
  position:relative !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  margin:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  font-size:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
#view-reports #reportClientDetail .report-detail-strip .round-arrow.pale{
  background:#df779c !important;
}
#view-reports #reportClientDetail .report-detail-strip .round-arrow:not(.pale){
  background:#d1004b !important;
}
#view-reports #reportClientDetail .report-detail-strip .round-arrow::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:0 !important;
  height:0 !important;
  border-top:7px solid transparent !important;
  border-bottom:7px solid transparent !important;
  transform:translate(-50%,-50%) !important;
}
#view-reports #reportClientDetail .report-detail-strip .round-arrow.pale::before{
  border-right:9px solid #fff !important;
  border-left:0 !important;
  margin-left:-1px !important;
}
#view-reports #reportClientDetail .report-detail-strip .round-arrow:not(.pale)::before{
  border-left:9px solid #fff !important;
  border-right:0 !important;
  margin-left:1px !important;
}
#view-reports #reportClientDetail .report-detail-strip .round-arrow::after{
  content:none !important;
}

#view-reports #reportClientDetail .report-detail-strip strong{
  font-size:19px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:#222 !important;
}

/* Riga Nr. clienti serviti: altezza e distanze originali. */
#view-reports #reportClientDetail .report-client-count{
  min-height:42px !important;
  height:42px !important;
  margin:0 !important;
  padding:12px 16px 2px !important;
  grid-template-columns:minmax(0,1fr) 32% !important;
  box-sizing:border-box !important;
}
#view-reports #reportClientDetail .report-client-count b{
  padding-right:18px !important;
  font-size:14px !important;
  line-height:28px !important;
}
#view-reports #reportClientDetail .report-client-count strong{
  height:28px !important;
  min-height:28px !important;
  padding:0 !important;
  line-height:28px !important;
  display:block !important;
  font-size:14px !important;
}

/* Mobile conserva proporzioni senza introdurre il vecchio header basso. */
@media(max-width:760px){
  .topbar.report-client-header{
    height:58px !important;
    min-height:58px !important;
    grid-template-columns:50px minmax(0,1fr) auto 0 !important;
  }
  .topbar.report-client-header #topLeftBtn.is-back{
    width:50px !important;
    min-width:50px !important;
    height:58px !important;
  }
  .topbar.report-client-header #topLeftBtn.is-back::before{
    left:12px !important;
  }
  .topbar.report-client-header #topLeftBtn.is-back::after{
    left:12px !important;
  }
  .topbar.report-client-header .top-title{
    padding-left:2px !important;
  }
  .topbar.report-client-header .top-title #pageTitle{
    font-size:17px !important;
  }
  .topbar.report-client-header .top-context{
    gap:7px !important;
    padding-right:5px !important;
  }
  .topbar.report-client-header .year-context{
    width:76px !important;
  }
  .topbar.report-client-header .report-year-stepper,
  .topbar.report-client-header #topReportYear{
    width:76px !important;
  }
  .topbar.report-client-header #topReportYear{
    font-size:15px !important;
    padding-right:22px !important;
  }
  .topbar.report-client-header .report-year-spin{
    right:1px !important;
  }
}


/* ==========================================================
   v0.7.17 — REPORT CLIENTI: HEADER NON SOVRAPPOSTO,
   FILTRO PERIODO IN-PLACE, BANCONOTA NERO/ROSSO
   ========================================================== */

/* BUG fascia/header:
   v0.7.16 portava la topbar a 58px, ma il contenuto continuava
   a partire dalla vecchia quota. Ora il detail parte DAVVERO sotto l'header. */
.topbar.report-client-header ~ .content{
  top:58px !important;
}

/* Il detail non deve mai risalire sotto la topbar. */
#view-reports #reportClientDetail{
  position:relative !important;
  padding-top:0 !important;
  margin-top:0 !important;
  overflow-x:hidden !important;
}

/* Se non esistono righe nel periodo non mostriamo una testata tabella rosa vuota. */
#view-reports #reportClientTable.report-client-empty{
  display:block !important;
  min-height:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* FILTRO PERIODO: si apre nel Report Clienti e NON torna a Report Base/Agenda. */
#view-reports .report-client-detail-period-popover{
  position:fixed !important;
  top:62px !important;
  right:58px !important;
  z-index:170 !important;
  width:270px !important;
  min-height:185px !important;
  padding:0 0 10px !important;
  background:#fff !important;
  border:1px solid #dedede !important;
  border-radius:3px !important;
  box-shadow:0 8px 24px rgba(0,0,0,.20) !important;
  overflow:hidden !important;
}
#view-reports .report-client-detail-period-popover.hidden{
  display:none !important;
}
#view-reports .report-client-detail-period-head{
  height:38px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:0 8px 0 12px !important;
  border-bottom:1px solid #ececec !important;
  color:var(--pink) !important;
}
#view-reports .report-client-detail-period-head strong{
  font-size:14px !important;
  font-weight:500 !important;
}
#view-reports .report-client-detail-period-head button{
  width:32px !important;
  min-width:32px !important;
  height:32px !important;
  min-height:32px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  font-size:22px !important;
  line-height:32px !important;
}
#view-reports .report-client-detail-period-body{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 82px !important;
  gap:5px !important;
  padding:9px 11px 5px !important;
  background:#fff !important;
}
#view-reports .report-client-detail-period-body .report-client-wheel{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:0 !important;
  touch-action:none !important;
  user-select:none !important;
  cursor:ns-resize !important;
}
#view-reports .report-client-detail-period-body .report-client-wheel button{
  height:32px !important;
  min-height:32px !important;
  padding:0 3px !important;
  border:0 !important;
  background:transparent !important;
  color:#bdbdbd !important;
  font-size:17px !important;
  line-height:32px !important;
  text-align:left !important;
}
#view-reports .report-client-detail-period-body .report-client-year-wheel button{
  text-align:right !important;
}
#view-reports .report-client-detail-period-body .report-client-wheel button[data-offset="-1"]{
  color:#222 !important;
}
#view-reports .report-client-detail-period-body .report-client-wheel button.selected{
  color:var(--pink) !important;
  font-size:18px !important;
  font-weight:400 !important;
}
#view-reports .report-client-detail-period-apply{
  min-width:92px !important;
  height:30px !important;
  min-height:30px !important;
  margin:4px 0 0 11px !important;
  padding:0 11px !important;
  border:0 !important;
  border-radius:4px !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:30px !important;
  touch-action:manipulation !important;
}

/* Il filtro in topbar evidenzia che il selettore periodo è aperto,
   senza cambiare schermata. */
.topbar.report-client-header.report-client-period-open .report-context-icon:not(.report-money-sort){
  background:rgba(209,0,75,.08) !important;
  border-radius:4px !important;
}

/* BANCONOTA:
   - nero = ordinamento normale/data;
   - rosso = ordinamento per spesa attivo.
   Nessun riquadro pieno: il feedback è sull'icona stessa. */
.topbar.report-client-header .report-money-sort{
  color:#151515 !important;
  background:transparent !important;
  transition:color .12s ease,transform .12s ease !important;
}
.topbar.report-client-header .report-money-sort.active{
  color:var(--pink) !important;
  background:transparent !important;
  transform:translateY(-1px) scale(1.04) !important;
}
.topbar.report-client-header .report-money-sort::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:1px !important;
  width:0 !important;
  height:2px !important;
  border-radius:2px !important;
  background:var(--pink) !important;
  transform:translateX(-50%) !important;
  transition:width .12s ease !important;
}
.topbar.report-client-header .report-money-sort.active::after{
  width:18px !important;
}

/* Spazio destro reale: la banconota non deve risultare tagliata. */
.topbar.report-client-header .top-context{
  padding-right:16px !important;
  overflow:visible !important;
}
.topbar.report-client-header .report-money-sort{
  margin-right:0 !important;
  flex:0 0 30px !important;
}

/* Mobile: popover sempre dentro viewport. */
@media(max-width:760px){
  .topbar.report-client-header ~ .content{
    top:58px !important;
  }
  #view-reports .report-client-detail-period-popover{
    top:61px !important;
    right:8px !important;
    width:min(270px,calc(100vw - 16px)) !important;
    max-height:calc(100dvh - 78px) !important;
  }
}


/* ==========================================================
   v0.7.18 — REPORT SALONE E COLLABORATORI
   PARITÀ VISIVA CON SALONAPP ORIGINALE (ALLEGATO 2)
   ========================================================== */

/* HEADER 58px, come riferimento originale. */
.topbar.report-salon-header{
  height:60px !important;
  min-height:60px !important;
  grid-template-columns:58px minmax(0,1fr) auto 0 !important;
  padding:0 !important;
  background:#fff !important;
  border-bottom:1px solid #ececec !important;
  box-shadow:0 3px 9px rgba(0,0,0,.13) !important;
  overflow:visible !important;
}
.topbar.report-salon-header ~ .content{
  top:60px !important;
}

/* Back superiore. */
.topbar.report-salon-header #topLeftBtn.is-back{
  position:relative !important;
  width:58px !important;
  min-width:58px !important;
  height:60px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:transparent !important;
  font-size:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
}
.topbar.report-salon-header #topLeftBtn.is-back::before{
  content:"" !important;
  position:absolute !important;
  left:23px !important;
  top:29px !important;
  width:18px !important;
  height:1.7px !important;
  background:var(--pink) !important;
  border-radius:2px !important;
}
.topbar.report-salon-header #topLeftBtn.is-back::after{
  content:"" !important;
  position:absolute !important;
  left:23px !important;
  top:23px !important;
  width:10px !important;
  height:10px !important;
  border-left:1.8px solid var(--pink) !important;
  border-bottom:1.8px solid var(--pink) !important;
  transform:rotate(45deg) !important;
}

/* Titolo. */
.topbar.report-salon-header .top-title{
  height:60px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 0 0 18px !important;
  margin:0 !important;
}
.topbar.report-salon-header .top-title #pageTitle{
  font-size:19px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:var(--pink) !important;
}

/* Destra header: Anno su due righe + spinner + filtro + mail. */
.topbar.report-salon-header .top-context{
  height:60px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  padding:0 9px 0 0 !important;
  overflow:visible !important;
}
.topbar.report-salon-header .year-context{
  width:112px !important;
  height:52px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:0 !important;
  margin:0 !important;
  padding:1px 0 0 !important;
  color:var(--pink) !important;
}
.topbar.report-salon-header .year-context-label{
  display:block !important;
  height:17px !important;
  line-height:17px !important;
  font-size:11px !important;
  color:var(--pink) !important;
}
.topbar.report-salon-header .report-year-stepper{
  position:relative !important;
  width:112px !important;
  height:27px !important;
}
.topbar.report-salon-header #topReportYear{
  width:112px !important;
  height:27px !important;
  min-height:27px !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#111 !important;
  font-size:17px !important;
  line-height:27px !important;
  font-weight:400 !important;
  padding:0 27px 0 1px !important;
  margin:0 !important;
  appearance:textfield !important;
  -moz-appearance:textfield !important;
}
.topbar.report-salon-header #topReportYear::-webkit-outer-spin-button,
.topbar.report-salon-header #topReportYear::-webkit-inner-spin-button{
  -webkit-appearance:none !important;
  margin:0 !important;
}
.topbar.report-salon-header .report-year-spin{
  position:absolute !important;
  right:4px !important;
  top:1px !important;
  width:18px !important;
  height:25px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
}
.topbar.report-salon-header .report-year-spin button{
  position:relative !important;
  width:18px !important;
  height:10px !important;
  min-height:10px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
.topbar.report-salon-header .report-year-spin button::before{
  content:"" !important;
  position:absolute !important;
  left:5px !important;
  width:7px !important;
  height:7px !important;
  border-right:2px solid #777 !important;
  border-bottom:2px solid #777 !important;
}
.topbar.report-salon-header .report-year-up::before{
  top:4px !important;
  transform:rotate(225deg) !important;
}
.topbar.report-salon-header .report-year-down::before{
  top:-1px !important;
  transform:rotate(45deg) !important;
}

/* Filtro, dimensione e allineamento. */
.topbar.report-salon-header .report-context-icon{
  width:30px !important;
  min-width:30px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  box-shadow:none !important;
}

/* Mail originale: riquadro magenta pieno con busta bianca. */
.topbar.report-salon-header .report-send-btn{
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  min-height:28px !important;
  border-radius:4px !important;
  background:var(--pink) !important;
  color:#fff !important;
  display:grid !important;
  place-items:center !important;
}
.topbar.report-salon-header .report-send-glyph{
  width:17px !important;
  height:11px !important;
  border:1.7px solid currentColor !important;
  border-radius:1.5px !important;
}
.topbar.report-salon-header .report-send-glyph:before,
.topbar.report-salon-header .report-send-glyph:after{
  top:2px !important;
  width:9px !important;
  height:1.5px !important;
  background:currentColor !important;
}

/* Nessuna colonna azioni residua. */
.topbar.report-salon-header .top-actions{
  width:0 !important;
  min-width:0 !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
}

/* STRIP CENTRALE periodo/collaboratore. */
.topbar.report-salon-header ~ .content #view-reports #reportDetail .report-detail-strip{
  height:64px !important;
  min-height:64px !important;
  grid-template-columns:48px minmax(0,1fr) 48px !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
  box-shadow:0 3px 8px rgba(0,0,0,.10) !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportDetail .report-detail-strip strong{
  font-size:19px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:#222 !important;
  text-align:center !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportDetail .round-arrow{
  position:relative !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  margin:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  font-size:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
  box-shadow:none !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportDetail .round-arrow.pale{
  background:#df779c !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportDetail .round-arrow:not(.pale){
  background:#d1004b !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportDetail .round-arrow::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:0 !important;
  height:0 !important;
  border-top:7px solid transparent !important;
  border-bottom:7px solid transparent !important;
  transform:translate(-50%,-50%) !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportDetail .round-arrow.pale::before{
  border-right:9px solid #fff !important;
  border-left:0 !important;
  margin-left:-1px !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportDetail .round-arrow:not(.pale)::before{
  border-left:9px solid #fff !important;
  border-right:0 !important;
  margin-left:1px !important;
}

/* INFO GENERALI: distanza dal periodo e larghezza come allegato 2. */
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo{
  padding:30px 20px 0 !important;
  margin:0 !important;
  background:#fff !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-title{
  width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border:0 !important;
  border-radius:4px !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-size:16px !important;
  line-height:34px !important;
  font-weight:700 !important;
  text-align:center !important;
  position:relative !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-general-toggle #reportGeneralArrow{
  position:absolute !important;
  right:12px !important;
  top:50% !important;
  width:18px !important;
  height:18px !important;
  transform:translateY(-50%) !important;
  font-size:0 !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-general-toggle #reportGeneralArrow::before{
  content:"" !important;
  position:absolute !important;
  left:4px !important;
  top:6px !important;
  width:8px !important;
  height:8px !important;
  border-left:2px solid #fff !important;
  border-top:2px solid #fff !important;
  transform:rotate(45deg) !important;
}

/* Righe metriche. */
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-lines{
  display:grid !important;
  width:100% !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line{
  min-height:46px !important;
  height:46px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 109px !important;
  align-items:center !important;
  border-bottom:1px solid #d4d4d4 !important;
  background:#fff !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-general-label{
  position:relative !important;
  display:block !important;
  text-align:right !important;
  padding:0 60px 0 0 !important;
  font-size:14px !important;
  color:#111 !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong{
  height:31px !important;
  min-height:31px !important;
  padding:0 4px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--pink) !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:31px !important;
  font-weight:400 !important;
}

/* Cerchio con freccia accanto a Incasso, come riferimento. */
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-income-circle{
  position:absolute !important;
  right:13px !important;
  top:50% !important;
  width:20px !important;
  min-width:20px !important;
  height:20px !important;
  min-height:20px !important;
  padding:0 !important;
  border:1.8px solid #111 !important;
  border-radius:50% !important;
  background:#fff !important;
  transform:translateY(-50%) !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-income-circle i{
  position:absolute !important;
  left:5px !important;
  top:4px !important;
  width:7px !important;
  height:7px !important;
  border-right:1.8px solid #111 !important;
  border-bottom:1.8px solid #111 !important;
  transform:rotate(45deg) !important;
}

/* Pagamenti, centrato e con chevron magenta a destra. */
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .payment-collapsible{
  position:relative !important;
  width:100% !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 !important;
  border:0 !important;
  border-bottom:1px solid #eee !important;
  background:#fff !important;
  color:var(--pink) !important;
  text-align:center !important;
  font-size:14px !important;
  font-weight:600 !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .payment-collapsible #reportPaymentsArrow{
  position:absolute !important;
  right:13px !important;
  top:50% !important;
  width:18px !important;
  height:18px !important;
  transform:translateY(-50%) !important;
  font-size:0 !important;
  padding:0 !important;
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .payment-collapsible #reportPaymentsArrow::before{
  content:"" !important;
  position:absolute !important;
  left:4px !important;
  top:3px !important;
  width:8px !important;
  height:8px !important;
  border-right:2px solid var(--pink) !important;
  border-bottom:2px solid var(--pink) !important;
  transform:rotate(45deg) !important;
}

/* Payment list, quando aperta. */
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .payment-list{
  grid-template-columns:minmax(0,1fr) 109px !important;
}

/* Mobile coerente e non buggato. */
@media(max-width:760px){
  .topbar.report-salon-header{
    height:60px !important;
    min-height:60px !important;
    grid-template-columns:50px minmax(0,1fr) auto 0 !important;
  }
  .topbar.report-salon-header ~ .content{
    top:60px !important;
  }
  .topbar.report-salon-header #topLeftBtn.is-back{
    width:50px !important;
    min-width:50px !important;
  }
  .topbar.report-salon-header #topLeftBtn.is-back::before,
  .topbar.report-salon-header #topLeftBtn.is-back::after{
    left:12px !important;
  }
  .topbar.report-salon-header .top-title{
    padding-left:4px !important;
  }
  .topbar.report-salon-header .top-title #pageTitle{
    font-size:16px !important;
  }
  .topbar.report-salon-header .top-context{
    gap:6px !important;
    padding-right:5px !important;
  }
  .topbar.report-salon-header .year-context{
    width:74px !important;
  }
  .topbar.report-salon-header .report-year-stepper,
  .topbar.report-salon-header #topReportYear{
    width:74px !important;
  }
  .topbar.report-salon-header #topReportYear{
    font-size:15px !important;
    padding-right:22px !important;
  }
  .topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo{
    padding:18px 8px 0 !important;
  }
  .topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line{
    grid-template-columns:minmax(0,1fr) 100px !important;
  }
  .topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-general-label{
    padding-right:42px !important;
    font-size:13px !important;
  }
}


/* ==========================================================
   v0.7.19 — REPORT MENSILE + REPORT GIORNALIERO
   STESSA IMPAGINAZIONE APPROVATA DEL REPORT SALONE
   ========================================================== */

/* La classe report-salon-header è ora volutamente la shell grafica
   comune ai 3 Report generali: Salone, Mensile e Giornaliero. */

/* Il filtro giornaliero, quando CHIUSO, non deve lasciare spazio
   sopra la strip periodo. */
.topbar.report-salon-header ~ .content
#view-reports #reportDetail .report-daily-filters.hidden{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}

/* Quando APERTO rimane interno al Report, sotto la topbar e sopra
   la strip, senza sovrapposizioni. */
.topbar.report-salon-header ~ .content
#view-reports #reportDetail .report-daily-filters:not(.hidden){
  position:relative !important;
  z-index:21 !important;
  background:#fff !important;
  border-bottom:1px solid #dedede !important;
  box-shadow:0 2px 6px rgba(0,0,0,.06) !important;
}

/* Totale Generale / giorno corrente: niente tagli o salti. */
.topbar.report-salon-header ~ .content
#view-reports #reportDetail #reportPeriodLabel{
  padding:0 8px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Info Generali: nessuna fascia rosa residua sotto Pagamenti quando
   il report è vuoto. */
.topbar.report-salon-header ~ .content
#view-reports #reportTableWrap:empty{
  display:block !important;
  min-height:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Su Mensile/Giornaliero l'icona mail resta nello stesso stato
   magenta/bianco approvato per Report Salone. */
.topbar.report-salon-header .report-send-btn{
  flex:0 0 28px !important;
}

/* Mobile: stessa altezza della shell approvata, con titolo più lungo
   ancora leggibile e senza far collassare il contesto Anno. */
@media(max-width:760px){
  .topbar.report-salon-header .top-title{
    min-width:0 !important;
    overflow:hidden !important;
  }
  .topbar.report-salon-header .top-title #pageTitle{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}


/* ==========================================================
   v0.7.20 — ICON SYSTEM APP-WIDE
   Modello dimensionale: Fiches approvate
   - hitbox azione: 40px desktop / 44px touch dove c'è spazio
   - icona standard: 26–28px
   - PNG/SVG sempre contain e centrati
   - simboli Unicode resi come glyph monocromatici, non emoji colorate
   ========================================================== */

:root{
  --cp-icon-hit:40px;
  --cp-icon-hit-mobile:44px;
  --cp-icon-visual:26px;
  --cp-icon-visual-row:28px;
  --cp-icon-gap:6px;
}

/* Regola di rendering comune a tutte le immagini/SVG dentro pulsanti azione.
   NON tocca loghi, immagini gallery o icone decorative grandi dei Report. */
button > img,
button > svg{
  object-fit:contain;
  vertical-align:middle;
}

/* Simboli icon-only: evita rendering emoji colorato / baseline irregolare. */
.ui-symbol-icon,
#contextAddBtn,
#adminGearBtn,
.top-section-icons button,
.thin-icon,
.simple-row button,
#settingsInlineAdd,
.system-corner,
.gallery-filter-round,
.client-restore-btn,
.prefix-clear,
.history-close-btn{
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-variant-emoji:text !important;
  line-height:1 !important;
}

/* ----------------------------------------------------------
   TOPBAR GENERALE
   Esclude gli header Report già rifiniti 1:1.
   ---------------------------------------------------------- */
.topbar:not(.report-client-header):not(.report-salon-header) .top-home,
.topbar:not(.report-client-header):not(.report-salon-header) .top-icon{
  width:44px !important;
  min-width:44px !important;
  max-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
  font-size:22px !important;
  box-sizing:border-box !important;
}
.topbar:not(.report-client-header):not(.report-salon-header) .top-icon > img{
  width:26px !important;
  height:26px !important;
  max-width:26px !important;
  max-height:26px !important;
  object-fit:contain !important;
  display:block !important;
}
.topbar:not(.report-client-header):not(.report-salon-header) .top-context{
  align-items:center !important;
}

/* ----------------------------------------------------------
   TOP CONTEXT CLIENTI / COLLABORATORI
   ---------------------------------------------------------- */
.top-section-icons{
  display:flex !important;
  align-items:center !important;
  gap:var(--cp-icon-gap) !important;
}
.top-section-icons button{
  width:var(--cp-icon-hit) !important;
  min-width:var(--cp-icon-hit) !important;
  height:var(--cp-icon-hit) !important;
  min-height:var(--cp-icon-hit) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  display:grid !important;
  place-items:center !important;
  color:var(--pink) !important;
  font-size:22px !important;
  line-height:1 !important;
}
.top-section-icons .ui-symbol-icon{
  width:26px !important;
  height:26px !important;
  display:grid !important;
  place-items:center !important;
  font-size:22px !important;
  line-height:1 !important;
}

/* ----------------------------------------------------------
   AGENDA — 4 icone top tutte uguali
   ---------------------------------------------------------- */
.agenda-top-icons-hq{
  display:flex !important;
  align-items:center !important;
  gap:var(--cp-icon-gap) !important;
}
.agenda-top-icons-hq button{
  width:var(--cp-icon-hit) !important;
  min-width:var(--cp-icon-hit) !important;
  height:var(--cp-icon-hit) !important;
  min-height:var(--cp-icon-hit) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  display:grid !important;
  place-items:center !important;
}
.agenda-top-icons-hq button img,
.agenda-top-icons-hq .badge-round img,
.agenda-top-icons-hq .agenda-profile-icon img{
  width:var(--cp-icon-visual-row) !important;
  height:var(--cp-icon-visual-row) !important;
  max-width:var(--cp-icon-visual-row) !important;
  max-height:var(--cp-icon-visual-row) !important;
  object-fit:contain !important;
}

/* ----------------------------------------------------------
   CLIENTI — azioni riga come Fiches: 40x40, icona 28
   ---------------------------------------------------------- */
#view-clients .client-row-actions{
  margin-left:auto !important;
  display:grid !important;
  grid-template-columns:repeat(2,var(--cp-icon-hit)) !important;
  gap:2px 4px !important;
  align-items:center !important;
  justify-items:center !important;
}
#view-clients .client-row-actions button{
  width:var(--cp-icon-hit) !important;
  min-width:var(--cp-icon-hit) !important;
  height:var(--cp-icon-hit) !important;
  min-height:var(--cp-icon-hit) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
}
#view-clients .client-row-actions .sa-action-png{
  width:var(--cp-icon-visual-row) !important;
  height:var(--cp-icon-visual-row) !important;
  max-width:var(--cp-icon-visual-row) !important;
  max-height:var(--cp-icon-visual-row) !important;
  object-fit:contain !important;
}

/* Modifica / elimina cliente: stessa hitbox e stessa impronta visiva. */
#view-clients .client-edit-actions button,
.client-card-actions button{
  width:var(--cp-icon-hit) !important;
  min-width:var(--cp-icon-hit) !important;
  height:var(--cp-icon-hit) !important;
  min-height:var(--cp-icon-hit) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
}
#view-clients .client-edit-actions button img,
.client-card-actions button img{
  width:var(--cp-icon-visual-row) !important;
  height:var(--cp-icon-visual-row) !important;
  max-width:var(--cp-icon-visual-row) !important;
  max-height:var(--cp-icon-visual-row) !important;
  object-fit:contain !important;
}

/* ----------------------------------------------------------
   LISTINO — plus azione uniforme
   ---------------------------------------------------------- */
.service-group-title .thin-icon,
.simple-row > button{
  width:var(--cp-icon-hit) !important;
  min-width:var(--cp-icon-hit) !important;
  height:var(--cp-icon-hit) !important;
  min-height:var(--cp-icon-hit) !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  background:transparent !important;
  color:var(--pink) !important;
  font-size:22px !important;
  line-height:1 !important;
}

/* ----------------------------------------------------------
   MODAL GENERICI — X / salva / delete / history
   Fiches rimane il riferimento e non viene riscritta.
   ---------------------------------------------------------- */
.salon-modal-head button:not(.salon-primary),
.history-head-actions button,
.header-trash.salon-trash-btn{
  width:var(--cp-icon-hit) !important;
  min-width:var(--cp-icon-hit) !important;
  height:var(--cp-icon-hit) !important;
  min-height:var(--cp-icon-hit) !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
  font-size:22px !important;
}
.salon-modal-head .save-icon img,
.history-head-actions svg,
.header-trash.salon-trash-btn img{
  width:var(--cp-icon-visual) !important;
  height:var(--cp-icon-visual) !important;
  max-width:var(--cp-icon-visual) !important;
  max-height:var(--cp-icon-visual) !important;
  object-fit:contain !important;
}

/* Scheda tecnica: clock/fiala stessa impronta e stesso centro. */
#technicalModal .technical-note-field .note-clock,
#technicalModal .technical-note-field .note-vial{
  width:36px !important;
  min-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
}
#technicalModal .technical-note-field .note-clock{
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-size:20px !important;
}
#technicalModal .technical-note-field .tech-vial-svg{
  width:20px !important;
  height:20px !important;
}

/* ----------------------------------------------------------
   GALLERIA / IMPOSTAZIONI — azioni icon-only
   ---------------------------------------------------------- */
.gallery-filter-round,
#settingsInlineAdd,
.system-corner{
  width:var(--cp-icon-hit) !important;
  min-width:var(--cp-icon-hit) !important;
  height:var(--cp-icon-hit) !important;
  min-height:var(--cp-icon-hit) !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}
.gallery-filter-round{
  font-size:20px !important;
}
#settingsInlineAdd{
  font-size:22px !important;
}
.system-corner{
  font-size:20px !important;
}

/* ----------------------------------------------------------
   MENU ASSISTENZA / ADMIN — glyph in colonna fissa 28x28
   ---------------------------------------------------------- */
.sos-menu button,
.admin-menu button{
  min-height:48px !important;
  align-items:center !important;
}
.sos-menu .menu-icon-glyph,
.admin-menu button > span:first-child{
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  min-height:28px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-variant-emoji:text !important;
  font-size:21px !important;
  line-height:1 !important;
  color:var(--pink) !important;
}
.sos-menu .menu-label{
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  display:inline !important;
  color:#333 !important;
  font-family:inherit !important;
  font-size:18px !important;
  line-height:1.2 !important;
}

/* ----------------------------------------------------------
   BOTTOM NAV — tutte le quattro icone stessa scatola 27x27
   ---------------------------------------------------------- */
.bottom-nav button span{
  width:27px !important;
  min-width:27px !important;
  height:27px !important;
  min-height:27px !important;
  flex:0 0 27px !important;
  display:block !important;
  line-height:27px !important;
  margin:0 !important;
  background-position:center !important;
  background-size:contain !important;
}

/* ----------------------------------------------------------
   MOBILE — mantiene touch comodo senza far saltare i layout
   ---------------------------------------------------------- */
@media(max-width:760px){
  :root{
    --cp-icon-hit:40px;
    --cp-icon-hit-mobile:44px;
    --cp-icon-visual:25px;
    --cp-icon-visual-row:28px;
  }

  .topbar:not(.report-client-header):not(.report-salon-header) .top-home,
  .topbar:not(.report-client-header):not(.report-salon-header) .top-icon{
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
  }

  .top-section-icons button,
  .agenda-top-icons-hq button{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }

  /* Clienti resta compatto, ma tutte le azioni hanno la stessa misura. */
  #view-clients .client-row-actions{
    grid-template-columns:repeat(2,38px) !important;
    gap:2px !important;
  }
  #view-clients .client-row-actions button{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
  }
  #view-clients .client-edit-actions button{
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    min-height:44px !important;
  }

  .salon-modal-head button:not(.salon-primary),
  .history-head-actions button,
  .header-trash.salon-trash-btn{
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    min-height:44px !important;
  }

  .gallery-filter-round,
  #settingsInlineAdd,
  .system-corner{
    width:44px !important;
    min-width:44px !important;
    height:44px !important;
    min-height:44px !important;
  }
}

/* Dark theme: nessun riquadro aggiunto, mantieni solo il colore originale. */
body.theme-dark .top-section-icons button,
body.theme-dark .agenda-top-icons-hq button,
body.theme-dark .client-row-actions button,
body.theme-dark .client-edit-actions button,
body.theme-dark .client-card-actions button,
body.theme-dark .service-group-title .thin-icon,
body.theme-dark .simple-row > button{
  background:transparent !important;
}


/* ==========================================================
   v0.7.21 — FIX REGRESSIONE ICONE + AGENDA COME SALONAPP
   ========================================================== */

/* REGRESSIONE v0.7.20:
   i selettori icon-system avevano display:grid !important e, essendo più
   specifici di .hidden, rendevano visibili + e ingranaggio anche dove
   dovevano essere nascosti. La classe hidden deve vincere SEMPRE. */
.topbar #topLeftBtn.hidden,
.topbar #sosBtn.hidden,
.topbar #contextAddBtn.hidden,
.topbar #adminGearBtn.hidden,
.topbar .top-icon.hidden,
.topbar .top-home.hidden{
  display:none !important;
}

/* Agenda è l'unica schermata operativa che usa:
   HOME + 4 icone a sinistra / titolo centrato / + e impostazioni a destra. */
.topbar.agenda-header{
  height:40px !important;
  min-height:40px !important;
  display:block !important;
  padding:0 !important;
  background:#fff !important;
  border-bottom:1px solid #d9d9d9 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* Il contenuto Agenda deve iniziare subito sotto il suo header da 40px. */
.topbar.agenda-header ~ .content{
  top:40px !important;
}

/* Home in alto a sinistra. */
.topbar.agenda-header #topLeftBtn{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  z-index:4 !important;
}

/* 4 icone Agenda subito dopo Home, come allegato 2. */
.topbar.agenda-header .top-context{
  position:absolute !important;
  left:42px !important;
  top:0 !important;
  height:40px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  z-index:4 !important;
}
.topbar.agenda-header .agenda-top-icons-hq{
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}
.topbar.agenda-header .agenda-top-icons-hq button{
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  display:grid !important;
  place-items:center !important;
}
.topbar.agenda-header .agenda-top-icons-hq button img,
.topbar.agenda-header .agenda-top-icons-hq .badge-round img,
.topbar.agenda-header .agenda-top-icons-hq .agenda-profile-icon img{
  width:28px !important;
  height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
  object-fit:contain !important;
  display:block !important;
}

/* Titolo veramente centrato nella larghezza della finestra, non nel residuo. */
.topbar.agenda-header .top-title{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  width:auto !important;
  max-width:40vw !important;
  height:40px !important;
  padding:0 !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:2 !important;
  pointer-events:none !important;
}
.topbar.agenda-header .top-title #pageTitle{
  font-size:19px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:var(--pink) !important;
  white-space:nowrap !important;
}

/* + e impostazioni solo a destra dell'Agenda. */
.topbar.agenda-header .top-actions{
  position:absolute !important;
  right:2px !important;
  top:0 !important;
  width:80px !important;
  min-width:80px !important;
  height:40px !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:0 !important;
  z-index:5 !important;
}
.topbar.agenda-header #contextAddBtn,
.topbar.agenda-header #adminGearBtn{
  position:relative !important;
  width:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  color:var(--pink) !important;
  display:grid !important;
  place-items:center !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.topbar.agenda-header #contextAddBtn{
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-size:29px !important;
  font-weight:300 !important;
}
.topbar.agenda-header #adminGearBtn{
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-size:19px !important;
}

/* SOS non deve comparire in Agenda. */
.topbar.agenda-header #sosBtn{
  display:none !important;
}

/* DATE STRIP come allegato 2:
   freccia stretta + 10 celle proporzionali + freccia + calendario/OGGI. */
#view-agenda .agenda-date-strip{
  height:72px !important;
  min-height:72px !important;
  display:flex !important;
  align-items:stretch !important;
  position:relative !important;
  top:0 !important;
  z-index:20 !important;
  background:#fff !important;
  border-bottom:1px solid #bdbdbd !important;
  overflow:hidden !important;
}
#view-agenda .strip-arrow{
  flex:0 0 16px !important;
  width:16px !important;
  min-width:16px !important;
  height:72px !important;
  padding:0 !important;
  border:0 !important;
  background:#fff !important;
  color:#999 !important;
  font-size:24px !important;
  line-height:72px !important;
  display:grid !important;
  place-items:center !important;
}
#view-agenda .agenda-days{
  flex:1 1 auto !important;
  min-width:0 !important;
  height:72px !important;
  display:flex !important;
  overflow:hidden !important;
}
#view-agenda .agenda-day{
  flex:1 1 0 !important;
  min-width:0 !important;
  height:72px !important;
  padding:6px 3px 4px !important;
  margin:0 !important;
  border:0 !important;
  border-right:1px solid #9f9f9f !important;
  background:#f6f6f6 !important;
  color:#8d8d8d !important;
  text-align:center !important;
  font-size:16px !important;
  line-height:1.18 !important;
  font-weight:400 !important;
}
#view-agenda .agenda-day strong{
  display:block !important;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:400 !important;
}
#view-agenda .agenda-day small{
  font-size:14px !important;
  line-height:1.1 !important;
}
#view-agenda .agenda-day.current,
#view-agenda .agenda-day.selected{
  color:#e60046 !important;
  background:#f7f7f7 !important;
}
#view-agenda .agenda-calendar-btn{
  flex:0 0 75px !important;
  width:75px !important;
  min-width:75px !important;
  height:72px !important;
  padding:0 !important;
  border:0 !important;
  background:#fff !important;
  color:var(--pink) !important;
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-size:25px !important;
  line-height:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
}
#view-agenda .agenda-calendar-btn small{
  font-family:var(--font) !important;
  font-size:11px !important;
  line-height:1 !important;
  color:var(--pink) !important;
}

/* Il grid usa l'altezza reale disponibile dopo strip Agenda. */
#view-agenda .agenda-grid-wrap{
  height:calc(100% - 72px) !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* Mobile: mantieni la struttura ma riduci le icone sinistre e non mostrare
   pulsanti nascosti per effetto dei vecchi selettori. */
@media(max-width:760px){
  .topbar.agenda-header{
    height:44px !important;
    min-height:44px !important;
  }
  .topbar.agenda-header ~ .content{
    top:44px !important;
  }
  .topbar.agenda-header #topLeftBtn{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:44px !important;
    min-height:44px !important;
  }
  .topbar.agenda-header .top-context{
    left:40px !important;
    height:44px !important;
  }
  .topbar.agenda-header .agenda-top-icons-hq,
  .topbar.agenda-header .agenda-top-icons-hq button{
    height:44px !important;
    min-height:44px !important;
  }
  .topbar.agenda-header .agenda-top-icons-hq button{
    width:34px !important;
    min-width:34px !important;
  }
  .topbar.agenda-header .agenda-top-icons-hq button img,
  .topbar.agenda-header .agenda-top-icons-hq .badge-round img,
  .topbar.agenda-header .agenda-top-icons-hq .agenda-profile-icon img{
    width:25px !important;
    height:25px !important;
  }
  .topbar.agenda-header .top-title{
    height:44px !important;
    max-width:34vw !important;
  }
  .topbar.agenda-header .top-title #pageTitle{
    font-size:15px !important;
  }
  .topbar.agenda-header .top-actions{
    width:70px !important;
    min-width:70px !important;
    height:44px !important;
  }
  .topbar.agenda-header #contextAddBtn,
  .topbar.agenda-header #adminGearBtn{
    width:35px !important;
    min-width:35px !important;
    max-width:35px !important;
    height:44px !important;
    min-height:44px !important;
  }

  /* Su telefono lo strip resta orizzontale e leggibile; celle flessibili. */
  #view-agenda .agenda-date-strip{
    height:68px !important;
    min-height:68px !important;
  }
  #view-agenda .agenda-days{
    height:68px !important;
  }
  #view-agenda .agenda-day{
    height:68px !important;
    min-width:66px !important;
    flex:0 0 66px !important;
    font-size:14px !important;
  }
  #view-agenda .agenda-day strong{
    font-size:14px !important;
  }
  #view-agenda .agenda-day small{
    font-size:12px !important;
  }
  #view-agenda .strip-arrow{
    height:68px !important;
  }
  #view-agenda .agenda-calendar-btn{
    height:68px !important;
    flex-basis:58px !important;
    width:58px !important;
    min-width:58px !important;
  }
  #view-agenda .agenda-grid-wrap{
    height:calc(100% - 68px) !important;
  }
}

/* Ultima cintura di sicurezza: hidden prevale anche dopo tutti gli override mobile. */
.topbar.agenda-header #contextAddBtn.hidden,
.topbar.agenda-header #adminGearBtn.hidden,
.topbar.agenda-header #sosBtn.hidden,
.topbar.agenda-header #topLeftBtn.hidden{
  display:none !important;
}


/* ==========================================================
   v0.7.22 — AGENDA CLEAN TOPBAR + CLIENTI NO PLUS
   Fix definitivo della collisione .agenda-header.
   ========================================================== */

/* Safety per le viste dove il + NON deve comparire. */
body[data-active-view="clients"] #contextAddBtn,
body[data-active-view="reports"] #contextAddBtn{
  display:none !important;
}
body[data-active-view="clients"] #adminGearBtn,
body[data-active-view="reports"] #adminGearBtn,
body[data-active-view="fiches"] #adminGearBtn{
  display:none !important;
}

/* La topbar Agenda usa una classe dedicata che NON collide più con
   .agenda-header delle celle collaboratore. */
.topbar.agenda-topbar-mode{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  height:40px !important;
  min-height:40px !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  background:#fff !important;
  border-bottom:1px solid #d6d6d6 !important;
  box-shadow:none !important;
  overflow:visible !important;
  z-index:60 !important;
}
.topbar.agenda-topbar-mode ~ .content{
  top:40px !important;
}

/* HOME */
.topbar.agenda-topbar-mode #topLeftBtn{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  z-index:5 !important;
}

/* 4 ICONE AGENDA A SINISTRA */
.topbar.agenda-topbar-mode .top-context{
  position:absolute !important;
  left:40px !important;
  top:0 !important;
  width:auto !important;
  height:40px !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  z-index:5 !important;
}
.topbar.agenda-topbar-mode .agenda-top-icons-hq{
  height:40px !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}
.topbar.agenda-topbar-mode .agenda-top-icons-hq button{
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  display:grid !important;
  place-items:center !important;
}
.topbar.agenda-topbar-mode .agenda-top-icons-hq button img,
.topbar.agenda-topbar-mode .agenda-top-icons-hq .badge-round img,
.topbar.agenda-topbar-mode .agenda-top-icons-hq .agenda-profile-icon img{
  width:27px !important;
  height:27px !important;
  max-width:27px !important;
  max-height:27px !important;
  object-fit:contain !important;
  display:block !important;
}

/* TITOLO CENTRATO NELLA FINESTRA */
.topbar.agenda-topbar-mode .top-title{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  width:auto !important;
  max-width:42vw !important;
  height:40px !important;
  padding:0 !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  pointer-events:none !important;
  z-index:2 !important;
}
.topbar.agenda-topbar-mode .top-title #pageTitle{
  color:var(--pink) !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:400 !important;
  white-space:nowrap !important;
}

/* AZIONI A DESTRA: un solo + e un solo ingranaggio */
.topbar.agenda-topbar-mode .top-actions{
  position:absolute !important;
  right:0 !important;
  top:0 !important;
  width:80px !important;
  min-width:80px !important;
  height:40px !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:0 !important;
  z-index:6 !important;
}
.topbar.agenda-topbar-mode #sosBtn{
  display:none !important;
}
.topbar.agenda-topbar-mode #contextAddBtn,
.topbar.agenda-topbar-mode #adminGearBtn{
  position:relative !important;
  width:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  color:var(--pink) !important;
  box-shadow:none !important;
  overflow:hidden !important;
  display:grid !important;
  place-items:center !important;
}

/* Il + usa SOLO il PNG/mask già approvato. Nascondiamo il carattere testuale,
   che in v0.7.21 si sommava al ::before e creava il secondo + sotto la topbar. */
.topbar.agenda-topbar-mode #contextAddBtn{
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
}
.topbar.agenda-topbar-mode #contextAddBtn::before{
  content:"" !important;
  display:block !important;
  width:23px !important;
  height:23px !important;
  margin:0 !important;
  background:var(--pink) !important;
  -webkit-mask-image:url('/static/icons/top-plus-salonapp-transparent-hq.png?v=0.6.42') !important;
  mask-image:url('/static/icons/top-plus-salonapp-transparent-hq.png?v=0.6.42') !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
}
.topbar.agenda-topbar-mode #adminGearBtn{
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
  text-indent:0 !important;
}

/* STRIP DATE */
#view-agenda .agenda-date-strip{
  height:72px !important;
  min-height:72px !important;
  display:flex !important;
  align-items:stretch !important;
  position:relative !important;
  top:0 !important;
  z-index:20 !important;
  background:#fff !important;
  border-bottom:1px solid #bdbdbd !important;
  overflow:hidden !important;
}
#view-agenda .agenda-days{
  flex:1 1 auto !important;
  min-width:0 !important;
  height:72px !important;
  display:flex !important;
  overflow:hidden !important;
}
#view-agenda .agenda-day{
  flex:1 1 0 !important;
  min-width:0 !important;
  height:72px !important;
  padding:6px 3px 4px !important;
  margin:0 !important;
  border:0 !important;
  border-right:1px solid #9f9f9f !important;
  background:#f6f6f6 !important;
  color:#8d8d8d !important;
  text-align:center !important;
  font-size:16px !important;
  line-height:1.18 !important;
}
#view-agenda .agenda-day strong{
  display:block !important;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:400 !important;
}
#view-agenda .agenda-day small{
  font-size:14px !important;
  line-height:1.1 !important;
}
#view-agenda .agenda-day.current,
#view-agenda .agenda-day.selected{
  color:#e60046 !important;
  background:#f7f7f7 !important;
}

/* Le due frecce vengono disegnate, non dipendono dal glifo ‹/›. */
#view-agenda .strip-arrow{
  position:relative !important;
  flex:0 0 16px !important;
  width:16px !important;
  min-width:16px !important;
  height:72px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  color:transparent !important;
  font-size:0 !important;
  overflow:hidden !important;
}
#view-agenda .strip-arrow::before{
  content:"" !important;
  position:absolute !important;
  top:50% !important;
  width:7px !important;
  height:7px !important;
  border-right:1.5px solid #999 !important;
  border-bottom:1.5px solid #999 !important;
}
#view-agenda .agenda-date-strip > .strip-arrow:first-child::before{
  left:5px !important;
  transform:translateY(-50%) rotate(135deg) !important;
}
#view-agenda .agenda-days + .strip-arrow::before{
  right:5px !important;
  transform:translateY(-50%) rotate(-45deg) !important;
}

#view-agenda .agenda-calendar-btn{
  flex:0 0 75px !important;
  width:75px !important;
  min-width:75px !important;
  height:72px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#fff !important;
  color:var(--pink) !important;
  font-family:"Segoe UI Symbol","Arial Unicode MS",Arial,sans-serif !important;
  font-size:24px !important;
  line-height:1 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
}
#view-agenda .agenda-calendar-btn small{
  font-family:var(--font) !important;
  font-size:11px !important;
  line-height:1 !important;
  color:var(--pink) !important;
}
#view-agenda .agenda-grid-wrap{
  height:calc(100% - 72px) !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* CLIENTI: nessun + top, nemmeno durante il passaggio iniziale della view. */
body[data-active-view="clients"] .topbar #contextAddBtn,
#view-clients.active-view ~ * #contextAddBtn{
  display:none !important;
}

/* Hidden vince sempre, anche su Agenda. */
.topbar.agenda-topbar-mode #contextAddBtn.hidden,
.topbar.agenda-topbar-mode #adminGearBtn.hidden,
.topbar.agenda-topbar-mode #topLeftBtn.hidden{
  display:none !important;
}

@media(max-width:760px){
  .topbar.agenda-topbar-mode{
    height:44px !important;
    min-height:44px !important;
  }
  .topbar.agenda-topbar-mode ~ .content{
    top:44px !important;
  }
  .topbar.agenda-topbar-mode #topLeftBtn{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:44px !important;
    min-height:44px !important;
  }
  .topbar.agenda-topbar-mode .top-context{
    left:38px !important;
    height:44px !important;
  }
  .topbar.agenda-topbar-mode .agenda-top-icons-hq{
    height:44px !important;
  }
  .topbar.agenda-topbar-mode .agenda-top-icons-hq button{
    width:34px !important;
    min-width:34px !important;
    height:44px !important;
    min-height:44px !important;
  }
  .topbar.agenda-topbar-mode .agenda-top-icons-hq button img{
    width:25px !important;
    height:25px !important;
  }
  .topbar.agenda-topbar-mode .top-title{
    height:44px !important;
    max-width:34vw !important;
  }
  .topbar.agenda-topbar-mode .top-title #pageTitle{
    font-size:15px !important;
  }
  .topbar.agenda-topbar-mode .top-actions{
    width:70px !important;
    min-width:70px !important;
    height:44px !important;
  }
  .topbar.agenda-topbar-mode #contextAddBtn,
  .topbar.agenda-topbar-mode #adminGearBtn{
    width:35px !important;
    min-width:35px !important;
    max-width:35px !important;
    height:44px !important;
    min-height:44px !important;
  }
  #view-agenda .agenda-date-strip,
  #view-agenda .agenda-days{
    height:68px !important;
    min-height:68px !important;
  }
  #view-agenda .agenda-day{
    height:68px !important;
    min-width:66px !important;
    flex:0 0 66px !important;
    font-size:14px !important;
  }
  #view-agenda .agenda-day strong{font-size:14px !important}
  #view-agenda .agenda-day small{font-size:12px !important}
  #view-agenda .strip-arrow{height:68px !important}
  #view-agenda .agenda-calendar-btn{
    height:68px !important;
    flex-basis:58px !important;
    width:58px !important;
    min-width:58px !important;
  }
  #view-agenda .agenda-grid-wrap{
    height:calc(100% - 68px) !important;
  }
}


/* ==========================================================
   v0.7.23 — RIPRISTINO + CLIENTI
   Ripristina SOLO il tasto + nella schermata Clienti come SalonApp originale.
   ========================================================== */
body[data-active-view="clients"] #contextAddBtn{
  display:grid !important;
}
body[data-active-view="clients"] .topbar #contextAddBtn{
  display:grid !important;
}
#view-clients.active-view ~ * #contextAddBtn{
  display:grid !important;
}
body[data-active-view="clients"] #adminGearBtn{
  display:none !important;
}


/* ==========================================================
   v0.7.25 — FIX DEFINITIVO VISIBILITÀ + ALLINEAMENTO ICONE
   ========================================================== */

/* Un pulsante hidden non deve poter riapparire per nessuna regola CSS. */
html body .topbar #topLeftBtn.hidden,
html body .topbar #sosBtn.hidden,
html body .topbar #contextAddBtn.hidden,
html body .topbar #adminGearBtn.hidden,
html body .topbar .top-icon.hidden,
html body .topbar .top-home.hidden{
  display:none !important;
}

/* Allineamento generale, SENZA imporre display sugli elementi nascosti. */
.topbar:not(.home-mode):not(.report-client-header):not(.report-salon-header):not(.agenda-topbar-mode) .top-context,
.topbar:not(.home-mode):not(.report-client-header):not(.report-salon-header):not(.agenda-topbar-mode) .top-actions{
  height:100% !important;
  align-items:center !important;
  align-self:center !important;
}
.topbar:not(.home-mode):not(.report-client-header):not(.report-salon-header):not(.agenda-topbar-mode) .top-actions{
  gap:6px !important;
  padding-right:8px !important;
  margin-right:0 !important;
}
.topbar:not(.home-mode):not(.report-client-header):not(.report-salon-header):not(.agenda-topbar-mode) .top-context{
  gap:8px !important;
  margin-right:8px !important;
}

/* Solo pulsanti realmente visibili. */
.topbar:not(.home-mode):not(.report-client-header):not(.report-salon-header):not(.agenda-topbar-mode) .top-home:not(.hidden),
.topbar:not(.home-mode):not(.report-client-header):not(.report-salon-header):not(.agenda-topbar-mode) .top-icon:not(.hidden){
  width:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  height:39px !important;
  min-height:39px !important;
  padding:0 !important;
  margin:0 !important;
  place-items:center !important;
  align-self:center !important;
  box-sizing:border-box !important;
  line-height:1 !important;
}

/* Clienti: cloud / filtri / + sullo stesso asse. */
body[data-active-view="clients"] .topbar .top-context{
  height:39px !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin-right:6px !important;
}
body[data-active-view="clients"] .topbar .top-actions{
  height:39px !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  padding-right:6px !important;
}
body[data-active-view="clients"] .top-section-icons{
  height:39px !important;
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
}
body[data-active-view="clients"] .top-section-icons button,
body[data-active-view="clients"] #contextAddBtn:not(.hidden){
  width:39px !important;
  min-width:39px !important;
  max-width:39px !important;
  height:39px !important;
  min-height:39px !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  transform:none !important;
  line-height:1 !important;
}
body[data-active-view="clients"] .top-section-icons .ui-symbol-icon{
  width:24px !important;
  height:24px !important;
  display:grid !important;
  place-items:center !important;
  font-size:21px !important;
  line-height:1 !important;
}
body[data-active-view="clients"] #contextAddBtn:not(.hidden){
  font-size:0 !important;
  text-indent:-9999px !important;
}
body[data-active-view="clients"] #contextAddBtn:not(.hidden)::before{
  width:23px !important;
  height:23px !important;
  margin:auto !important;
}

/* PNG/SVG centrati senza cambiare visibilità o funzioni. */
.topbar button:not(.hidden) > img,
.topbar button:not(.hidden) > svg,
.client-row-actions button > img,
.client-edit-actions button > img,
.client-card-actions button > img,
.salon-modal-head button > img{
  display:block !important;
  margin:auto !important;
  object-fit:contain !important;
  vertical-align:middle !important;
}

/* Agenda: solo micro-allineamento dei pulsanti già previsti. */
.topbar.agenda-topbar-mode .top-actions{
  align-items:center !important;
  justify-content:flex-end !important;
}
.topbar.agenda-topbar-mode #contextAddBtn:not(.hidden),
.topbar.agenda-topbar-mode #adminGearBtn:not(.hidden){
  align-self:center !important;
  transform:none !important;
}

/* Report: nessun + e nessun ingranaggio estraneo. */
body[data-active-view="reports"] #contextAddBtn,
body[data-active-view="reports"] #adminGearBtn{
  display:none !important;
}


/* ==========================================================
   v0.7.27 — MOBILE CLIENTI + AGENDA TOPBAR
   Fix mirato agli screenshot mobile del 21/08/2026.
   ========================================================== */
@media(max-width:760px){
  /* CLIENTI
     La topbar mobile generica aveva 3 colonne mentre Clienti usa sia
     topContext (cloud/filtri) sia topActions (+). Il + finiva quindi
     nella seconda riga implicita sopra la ricerca. Ora sono 4 colonne. */
  body[data-active-view="clients"] .topbar{
    height:54px !important;
    min-height:54px !important;
    grid-template-columns:48px minmax(0,1fr) auto 42px !important;
    grid-template-rows:54px !important;
    align-items:center !important;
    padding:0 !important;
    overflow:visible !important;
  }
  body[data-active-view="clients"] .topbar #topLeftBtn{
    grid-column:1 !important;
    grid-row:1 !important;
    width:48px !important;
    min-width:48px !important;
    max-width:48px !important;
    height:54px !important;
    min-height:54px !important;
    margin:0 !important;
    align-self:center !important;
  }
  body[data-active-view="clients"] .topbar .top-title{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    height:54px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 4px !important;
    overflow:hidden !important;
  }
  body[data-active-view="clients"] .topbar .top-title #pageTitle{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body[data-active-view="clients"] .topbar .top-context{
    grid-column:3 !important;
    grid-row:1 !important;
    position:static !important;
    width:auto !important;
    height:54px !important;
    display:flex !important;
    align-items:center !important;
    align-self:center !important;
    gap:2px !important;
    margin:0 !important;
    padding:0 !important;
  }
  body[data-active-view="clients"] .topbar .top-actions{
    grid-column:4 !important;
    grid-row:1 !important;
    position:static !important;
    width:42px !important;
    min-width:42px !important;
    height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 2px 0 0 !important;
  }
  body[data-active-view="clients"] .top-section-icons{
    height:54px !important;
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
  }
  body[data-active-view="clients"] .top-section-icons button{
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    transform:none !important;
  }
  body[data-active-view="clients"] .top-section-icons .ui-symbol-icon{
    width:23px !important;
    height:23px !important;
    font-size:21px !important;
    line-height:1 !important;
    display:grid !important;
    place-items:center !important;
  }
  body[data-active-view="clients"] #contextAddBtn:not(.hidden){
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    align-self:center !important;
    place-self:center !important;
  }
  body[data-active-view="clients"] #contextAddBtn:not(.hidden)::before{
    width:23px !important;
    height:23px !important;
    margin:auto !important;
  }
  /* Nessuna seconda riga della topbar Clienti. */
  body[data-active-view="clients"] .topbar ~ .content{
    top:54px !important;
  }

  /* AGENDA
     Su viewport ~360 CSS px le quattro icone a sinistra invadevano il
     titolo centrato. Riserviamo tre zone reali: icone / titolo / azioni. */
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode{
    height:44px !important;
    min-height:44px !important;
    overflow:hidden !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode #topLeftBtn{
    left:0 !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:44px !important;
    min-height:44px !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-context{
    left:34px !important;
    top:0 !important;
    width:120px !important;
    height:44px !important;
    overflow:hidden !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq{
    width:120px !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:repeat(4,30px) !important;
    gap:0 !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq button{
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    display:grid !important;
    place-items:center !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq button img,
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq .badge-round img,
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq .agenda-profile-icon img{
    width:24px !important;
    height:24px !important;
    max-width:24px !important;
    max-height:24px !important;
    object-fit:contain !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-actions{
    right:0 !important;
    top:0 !important;
    width:60px !important;
    min-width:60px !important;
    height:44px !important;
    display:grid !important;
    grid-template-columns:30px 30px !important;
    align-items:center !important;
    justify-items:center !important;
    padding:0 !important;
    margin:0 !important;
    gap:0 !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode #contextAddBtn:not(.hidden),
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode #adminGearBtn:not(.hidden){
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    transform:none !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-title{
    left:154px !important;
    right:60px !important;
    top:0 !important;
    width:auto !important;
    max-width:none !important;
    height:44px !important;
    transform:none !important;
    padding:0 3px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }
  body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-title #pageTitle{
    width:100% !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1 !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }
}

/* ==========================================================
   v0.7.28 — CLIENTI: AZIONI RUBRICA LEGATE AI PASSAGGI FICHES
   La batteria di 4 icone a destra resta visivamente "spenta"
   se visit_count=0; torna nativa/attiva appena esiste >=1 Fiche.
   Le azioni restano cliccabili: cambia solo lo stato visivo.
   ========================================================== */
#view-clients .client-row-actions.client-actions-no-fiches .sa-action-png{
  filter:grayscale(1) saturate(0) opacity(.38) !important;
  opacity:.58 !important;
}
#view-clients .client-row-actions.client-actions-no-fiches button{
  opacity:.72 !important;
}
#view-clients .client-row-actions.client-actions-has-fiches .sa-action-png{
  filter:none !important;
  opacity:1 !important;
}
#view-clients .client-row-actions.client-actions-has-fiches button{
  opacity:1 !important;
}
body.theme-dark #view-clients .client-row-actions.client-actions-no-fiches .sa-action-png{
  filter:grayscale(1) saturate(0) opacity(.48) !important;
  opacity:.64 !important;
}


/* ==========================================================
   v0.7.29 — CLIENTI: STATO INDIPENDENTE DELLE 4 AZIONI
   Telefono + WhatsApp: attivi solo se esiste il cellulare.
   Email: attiva solo se esiste l'indirizzo email.
   Rubrica/Scheda cliente: attiva solo se esiste almeno 1 Fiche.
   Ogni icona senza il proprio dato resta visivamente spenta.
   ========================================================== */
#view-clients .client-row-actions .client-action-inactive .sa-action-png{
  filter:grayscale(1) saturate(0) opacity(.38) !important;
  opacity:.58 !important;
}
#view-clients .client-row-actions .client-action-inactive{
  opacity:.72 !important;
}
#view-clients .client-row-actions .client-action-active .sa-action-png{
  filter:none !important;
  opacity:1 !important;
}
#view-clients .client-row-actions .client-action-active{
  opacity:1 !important;
}
body.theme-dark #view-clients .client-row-actions .client-action-inactive .sa-action-png{
  filter:grayscale(1) saturate(0) opacity(.48) !important;
  opacity:.64 !important;
}


/* ==========================================================
   v0.7.30 — CLIENTI: PREFISSO NON È UN NUMERO
   La riga telefono è mostrata solo se il campo cellulare contiene
   almeno una cifra reale. Un prefisso (+39, +33, ecc.) da solo non
   viene considerato dato visivo né contatto utilizzabile.
   ========================================================== */
#view-clients .client-main .phone-line:empty{display:none !important;}

/* v0.7.32 — MIGRAZIONE SALONAPP: preflight/quadratura isolata */
.migration-row{grid-template-columns:minmax(220px,1.25fr) minmax(190px,1fr) minmax(150px,.7fr) minmax(170px,.8fr);align-items:center}
.migration-row.is-ready{background:#f4fbf7}.migration-row.is-attention{background:#fff9f2}
.migration-source,.migration-hash,.migration-status{min-width:0;display:flex;flex-direction:column;gap:4px}.migration-source b,.migration-hash code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.migration-hash code{font-size:11px;color:#777}.migration-row small{color:#777}.migration-status small{color:#348457}
.migration-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.migration-actions button{border:1px solid var(--pink);background:#fff;color:var(--pink);padding:8px 10px;font-size:11px;font-weight:700}.migration-actions .salon-primary{background:var(--pink);color:#fff}
.migration-preflight-panel{margin:0 20px 28px}.migration-preflight-panel:empty{display:none}.migration-preflight-panel:not(:empty){background:#fff;box-shadow:0 2px 10px #ddd;padding:18px}
.migration-preflight-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;border-bottom:1px solid #e4e4e4;padding-bottom:12px}.migration-preflight-head h3{margin:0 0 5px}.migration-preflight-head .ok{color:#258354}.migration-preflight-head .ko{color:#b5523b}.migration-preflight-head>button{border:0;background:transparent;font-size:24px;color:#777}
.migration-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.migration-metrics>div{border:1px solid #e6e6e6;padding:12px;display:flex;flex-direction:column;gap:4px}.migration-metrics span{font-size:11px;color:#777;text-transform:uppercase}.migration-metrics b{font-size:18px}.migration-metrics small{color:#777}
.migration-issues{border-top:1px solid #eee;padding-top:10px}.migration-issues h4{margin:4px 0 10px}.migration-issue{display:grid;grid-template-columns:minmax(150px,.35fr) 1fr;gap:10px;padding:8px 10px;margin:5px 0;background:#f8f8f8;border-left:3px solid #c9a44c}.migration-issue.critical{border-left-color:#b64646;background:#fff5f5}.migration-issue b{font-size:11px}.migration-issue span{font-size:12px}.migration-all-ok{padding:12px;background:#f4fbf7;color:#258354;font-weight:700}.migration-safety-note{font-size:12px;color:#777;margin:14px 0 0}
@media(max-width:780px){.migration-steps{padding:10px;overflow:auto}.migration-steps span{min-width:115px;font-size:10px}.migration-card{margin:8px 10px;padding:14px}.migration-list{padding:10px}.migration-row{grid-template-columns:1fr;gap:8px;padding:12px 4px}.migration-actions{justify-content:flex-start}.migration-preflight-panel{margin:0 10px 20px}.migration-metrics{grid-template-columns:1fr 1fr}.migration-issue{grid-template-columns:1fr;gap:3px}}
/* v0.7.32 — stato preflight background */
.migration-running{margin-top:16px;padding:16px;border:1px solid #e7d8bc;background:#fffaf1;display:flex;flex-direction:column;gap:7px}.migration-running b{color:#9b6b1f}.migration-running span{font-size:12px;color:#666;line-height:1.45}
/* ==============================================================
   P744B — SALONAPP UI PARITY / STAGING ONLY
   Derived from P743 captures (1536x730, DPR 1.25)
   CSS only: no DB, no API, no business logic.
   ============================================================= */

:root{
  --pink:#c5023c !important;        /* P743 rgb(197,2,60) */
  --pink2:#c5023c !important;
  --ink:#30384c !important;         /* P743 rgb(48,56,76) */
  --muted:#8c8c8c !important;       /* P743 rgb(140,140,140) */
  --beige:#faebd7 !important;       /* report category background */
  --top:44px !important;
  --footer:57px !important;
}

html,body,button,input,select,textarea{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-synthesis:none;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* GLOBAL TOPBAR — SalonApp P743 = 44px */
.topbar,
.topbar.agenda-topbar-mode{
  height:44px !important;
  min-height:44px !important;
  background:#fff !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.content,
.topbar.agenda-topbar-mode ~ .content{
  top:44px !important;
}
.topbar .top-title,
.topbar.agenda-topbar-mode .top-title{
  height:44px !important;
  line-height:44px !important;
  display:flex !important;
  align-items:center !important;
}
.topbar .top-title #pageTitle,
.topbar .top-title{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:17px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  color:#c5023c !important;
}
.top-home,.top-icon,
.topbar.agenda-topbar-mode #topLeftBtn,
.topbar.agenda-topbar-mode #contextAddBtn,
.topbar.agenda-topbar-mode #adminGearBtn{
  height:44px !important;
  min-height:44px !important;
}
.topbar.agenda-topbar-mode .top-context,
.topbar.agenda-topbar-mode .agenda-top-icons-hq,
.topbar.agenda-topbar-mode .top-actions{
  height:44px !important;
}
.topbar.agenda-topbar-mode .agenda-top-icons-hq button{
  height:44px !important;
  min-height:44px !important;
}

/* ICONS — never squeeze original PNG/SVG */
img,.native-icon,.report-menu-icon img,
.toolbar-client-native,.global-lock-png,.calendar-outline-png{
  object-fit:contain !important;
  object-position:center !important;
}
button img{max-width:100%;max-height:100%;}

/* GLOBAL BOTTOM NAV — P743 ~= 56.8px */
.bottom-nav{
  height:57px !important;
  min-height:57px !important;
  border-top:1px solid #e5e5e7 !important;
  background:#fff !important;
}
.bottom-nav button{
  min-height:57px !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  line-height:1.15 !important;
  color:#8c8c8c !important;
  background:#fff !important;
}
.bottom-nav button.active{color:#c5023c !important;}

/* GENERIC SEARCH — P743 35.6px field, 17px text */
.salon-search{
  height:36px !important;
  min-height:36px !important;
  border:1px solid #c8c8cc !important;
  border-radius:10px !important;
  background:#f5f5f7 !important;
  box-shadow:none !important;
}
.salon-search input{
  height:34px !important;
  min-height:34px !important;
  font-size:17px !important;
  line-height:34px !important;
  font-weight:400 !important;
  color:#30384c !important;
}

/* CLIENTI — header stack 44 + 56 + 46, row 70.8, footer 44 */
#view-clients{
  background:#fff !important;
  overflow:hidden !important;
}
#view-clients>.salon-search{
  margin:10px 21px !important;
  width:calc(100% - 42px) !important;
}
#view-clients .salon-filter-row{
  height:46px !important;
  min-height:46px !important;
  padding:8px 13px 4px !important;
  gap:4px !important;
  background:#fff !important;
  border-bottom:0 !important;
  overflow-x:auto !important;
}
#view-clients .salon-filter-row button{
  height:34px !important;
  min-height:34px !important;
  flex:1 0 150px !important;
  padding:0 10px !important;
  border:1px solid #b0afb1 !important;
  border-radius:7px !important;
  background:#f5f5f7 !important;
  color:#30384c !important;
  font-size:13px !important;
  line-height:34px !important;
  font-weight:450 !important;
  white-space:nowrap !important;
}
#view-clients .salon-filter-row button.active{
  background:#c5023c !important;
  border-color:#c5023c !important;
  color:#fff !important;
}
#view-clients .client-list{
  overflow-y:auto !important;
  min-height:0 !important;
}
#view-clients .salon-list-row{
  height:71px !important;
  min-height:71px !important;
  padding:8px 15px !important;
  gap:14px !important;
  background:#f4f4f4 !important;
  border-bottom:1px solid #fff !important;
}
#view-clients .client-main b{
  font-size:17px !important;
  line-height:20.4px !important;
  font-weight:400 !important;
  color:#30384c !important;
  white-space:normal !important;
}
#view-clients .client-main span{
  font-size:14px !important;
  line-height:17px !important;
  font-weight:400 !important;
  color:#000 !important;
}
#view-clients .count-footer{
  height:44px !important;
  min-height:44px !important;
  padding:0 15px !important;
  display:flex !important;
  align-items:center !important;
  background:#fff !important;
  color:#c5023c !important;
  font-size:16px !important;
  font-weight:400 !important;
  border-top:0 !important;
}

/* FICHES — exact header stack: 44 top + 48 search + 44 period = 136px */
#view-fiches .fiche-toolbar{
  height:48px !important;
  min-height:48px !important;
  flex:0 0 48px !important;
  padding:0 !important;
  background:#fff !important;
}
#view-fiches .fiche-toolbar .salon-search{
  height:36px !important;
  min-height:36px !important;
  margin:6px 8px 6px 16px !important;
  padding:0 12px !important;
}
#view-fiches .fiche-toolbar-person{
  width:40px !important;
  min-width:40px !important;
  height:48px !important;
  margin-right:8px !important;
  display:grid !important;
  place-items:center !important;
}
#view-fiches .toolbar-client-native{
  width:29px !important;
  height:35px !important;
}
#view-fiches .fiche-period-summary{
  height:44px !important;
  min-height:44px !important;
  flex:0 0 44px !important;
  padding:0 10px !important;
  color:#c5023c !important;
  font-size:16px !important;
  font-weight:400 !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
}
#view-fiches .period-calendar-btn,
#view-fiches .global-lock-btn{
  height:44px !important;
  min-height:44px !important;
}
#view-fiches .fiche-row{
  height:95px !important;
  min-height:95px !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
}
#view-fiches .fiche-row .fiche-main b{
  font-size:17px !important;
  line-height:20px !important;
  font-weight:400 !important;
  color:#30384c !important;
}
#view-fiches .fiche-date-line,
#view-fiches .fiche-row .fiche-main>span:not(.fiche-price){
  font-size:12px !important;
  font-weight:400 !important;
  line-height:15px !important;
  color:#30384c !important;
}
#view-fiches .fiche-price{
  background:#3d90d1 !important;
  color:#fff !important;
  border-radius:5px !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
}
#view-fiches .fiche-totals-bar{
  height:37px !important;
  min-height:37px !important;
  flex:0 0 37px !important;
  padding:0 15px !important;
  background:#fff !important;
  font-size:16px !important;
  font-weight:400 !important;
  border-top:0 !important;
}

/* AGENDA — P743 header 44, date strip 86.4; grid uses Roboto */
#view-agenda .agenda-date-strip{
  height:86px !important;
  min-height:86px !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
}
#view-agenda .agenda-days,
#view-agenda .strip-arrow,
#view-agenda .agenda-calendar-btn{
  height:86px !important;
  min-height:86px !important;
}
#view-agenda .agenda-day{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  color:#8c8c8c !important;
  border-right:0 !important;
}
#view-agenda .agenda-day.current,
#view-agenda .agenda-day.selected{color:#c5023c !important;}
#view-agenda .agenda-grid-wrap{
  height:calc(100% - 86px) !important;
}
#view-agenda .agenda-grid,
#view-agenda .agenda-header,
#view-agenda .agenda-time,
#view-agenda .agenda-cell,
#view-agenda .appointment-block{
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
}
#view-agenda .agenda-header{font-size:13px !important;font-weight:400 !important;}
#view-agenda .agenda-time,#view-agenda .appointment-block{font-size:12px !important;}

/* REPORT BASE — P743 rows 96.8px, Comfortaa */
#view-reports .report-menu-row{
  height:97px !important;
  min-height:97px !important;
  padding:0 16px !important;
  gap:16px !important;
  background:#fff !important;
  border-bottom:1px solid #ddd !important;
}
#view-reports .report-menu-row b{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:18px !important;
  line-height:22px !important;
  font-weight:400 !important;
  color:#000 !important;
  letter-spacing:0 !important;
}
#view-reports .report-menu-row span{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:15px !important;
  line-height:18px !important;
  font-weight:400 !important;
  color:#000 !important;
  letter-spacing:0 !important;
  white-space:normal !important;
}
#view-reports .report-menu-icon{
  width:80px !important;
  min-width:80px !important;
  height:80px !important;
}
#view-reports .report-menu-icon img{
  width:72px !important;
  height:72px !important;
}

/* REPORT DETAIL — original uses Roboto for data/table, Comfortaa for period toolbar */
#view-reports #reportDetail,
#view-reports #reportClientDetail,
#view-reports .report-general,
#view-reports .report-table-wrap,
#view-reports .report-table,
#view-reports .report-client-count,
#view-reports .payment-list{
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif !important;
}
#view-reports .report-detail-strip{
  min-height:56px !important;
  height:56px !important;
  background:#fff !important;
  box-shadow:none !important;
  border-bottom:0 !important;
}
#view-reports .report-detail-strip strong{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:17px !important;
  line-height:20px !important;
  font-weight:400 !important;
  color:#c5023c !important;
}
#view-reports .report-table{font-size:16px !important;}
#view-reports .report-table th{
  background:#c5023c !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:700 !important;
  border-color:#fff !important;
}
#view-reports .report-table .category-row{background:#faebd7 !important;}
#view-reports .report-table td{
  color:#333 !important;
  line-height:1.25 !important;
}

/* FICHE EDITOR / CLIENT DETAIL / MODALS — protect text from squashing */
.fiche-route-dialog,
.client-dialog,
.salon-dialog,
.salon-modal-form,
.fiche-form{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
}
.fiche-header h3,.salon-modal-head h3{
  font-size:17px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  color:#c5023c !important;
}
.fiche-item-service-name,.picker-service>span:first-child,
.client-main b,.fiche-main b,
.report-menu-row b{
  overflow-wrap:anywhere;
  word-break:normal;
  font-stretch:normal !important;
  transform:none !important;
}
input,select,textarea,button{font-stretch:normal !important;transform:none;}

/* Preserve current dark theme logic; P743 parity applies to light mode. */
body.theme-dark{--pink:#c5023c !important;}

@media(max-width:760px){
  :root{--top:48px !important;--footer:60px !important;}
  .topbar,.topbar.agenda-topbar-mode{height:48px !important;min-height:48px !important;}
  .content,.topbar.agenda-topbar-mode ~ .content{top:48px !important;}
  .topbar .top-title,.topbar.agenda-topbar-mode .top-title{height:48px !important;line-height:48px !important;}
  .bottom-nav{height:60px !important;min-height:60px !important;}
  #view-clients>.salon-search{margin:8px 10px !important;width:calc(100% - 20px) !important;}
  #view-clients .salon-filter-row button{flex-basis:120px !important;}
  #view-agenda .agenda-date-strip,#view-agenda .agenda-days,#view-agenda .strip-arrow,#view-agenda .agenda-calendar-btn{height:72px !important;min-height:72px !important;}
  #view-agenda .agenda-grid-wrap{height:calc(100% - 72px) !important;}
}

/* END P744B UI PARITY */
/* ==============================================================
   P744C — AGENDA PIXEL PARITY / STAGING ONLY
   Target measurements from P743 SalonApp capture:
   toolbar 86.4px; day 50x71.2px + 8px gap; time axis 85px;
   resource header 40px; grid labels 12px Roboto.
   ============================================================== */

#view-agenda .agenda-date-strip{
  height:86px !important;
  min-height:86px !important;
  align-items:flex-start !important;
  overflow:hidden !important;
  border-bottom:0 !important;
  background:#fff !important;
}

#view-agenda .agenda-days{
  height:86px !important;
  min-height:86px !important;
  display:flex !important;
  align-items:flex-start !important;
  flex:1 1 auto !important;
  overflow:hidden !important;
  scroll-behavior:auto !important;
  white-space:nowrap !important;
}

#view-agenda .agenda-day{
  box-sizing:border-box !important;
  flex:0 0 50px !important;
  width:50px !important;
  min-width:50px !important;
  max-width:50px !important;
  height:71px !important;
  min-height:71px !important;
  max-height:71px !important;
  margin:0 8px 0 0 !important;
  padding:8px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  line-height:1.15 !important;
  text-align:center !important;
  color:#8c8c8c !important;
  appearance:none !important;
}

#view-agenda .agenda-day strong{
  display:block !important;
  font-size:inherit !important;
  font-weight:400 !important;
  line-height:1.15 !important;
}

#view-agenda .agenda-day small{
  font-family:inherit !important;
  font-weight:400 !important;
  line-height:1.1 !important;
}

#view-agenda .agenda-day.current,
#view-agenda .agenda-day.selected{
  color:#c5023c !important;
  background:#fff !important;
}

#view-agenda .strip-arrow{
  flex:0 0 30px !important;
  width:30px !important;
  min-width:30px !important;
  height:86px !important;
  min-height:86px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#999 !important;
  font-size:25px !important;
}

#view-agenda .agenda-calendar-btn{
  flex:0 0 56px !important;
  width:56px !important;
  min-width:56px !important;
  height:86px !important;
  min-height:86px !important;
  padding:7px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#c5023c !important;
  font-size:23px !important;
  line-height:1 !important;
}

#view-agenda .agenda-calendar-btn small{
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:400 !important;
}

#view-agenda .agenda-grid-wrap{
  height:calc(100% - 86px) !important;
  min-height:0 !important;
  overflow:auto !important;
}

#view-agenda .agenda-grid{
  grid-template-columns:85px repeat(var(--collabs),150px) !important;
  width:max-content !important;
  min-width:100% !important;
}

#view-agenda .agenda-header{
  height:40px !important;
  min-height:40px !important;
  padding:0 5px !important;
  justify-content:flex-start !important;
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:normal !important;
  color:rgba(0,0,0,.87) !important;
  background:#fff !important;
  border-right:1px solid #ddd !important;
  border-bottom:1px solid #ddd !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}

#view-agenda .agenda-header:first-child{
  justify-content:center !important;
}

#view-agenda .agenda-time,
#view-agenda .agenda-time.hour{
  box-sizing:border-box !important;
  width:85px !important;
  padding-right:5px !important;
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:12px !important;
  color:rgba(0,0,0,.54) !important;
  background:#fff !important;
  text-align:right !important;
}

#view-agenda .agenda-cell{
  background:rgba(255,255,255,.19) !important;
}

#view-agenda .agenda-now{
  height:1px !important;
  background:#ff1453 !important;
}

/* END P744C AGENDA PIXEL PARITY */
/* P744D — AGENDA STRUCTURAL PARITY / STAGING ONLY */
:root{--p744d-pink:#c5023c;--p744d-muted:#8c8c8c;--p744d-line:#dedede;--p744d-disabled:#e5e8f6}

body[data-active-view="agenda"] .topbar.agenda-topbar-mode{height:44px!important;min-height:44px!important;display:block!important;padding:0 5px!important;background:#fff!important;border:0!important;box-shadow:0 3px 15px rgba(0,0,0,.2)!important;overflow:visible!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode~.content{top:44px!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode #topLeftBtn{position:absolute!important;left:11px!important;top:4px!important;width:39px!important;min-width:39px!important;max-width:39px!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;border:0!important;background:var(--p744d-pink)!important;color:transparent!important;font-size:0!important;display:block!important;-webkit-mask-image:url('/static/icons/top-home-salonapp-transparent-hq.png?v=0.7.33')!important;mask-image:url('/static/icons/top-home-salonapp-transparent-hq.png?v=0.7.33')!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-position:center!important;mask-position:center!important;-webkit-mask-size:23px 23px!important;mask-size:23px 23px!important;z-index:5!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-title{position:absolute!important;left:52px!important;right:190px!important;top:0!important;height:44px!important;width:auto!important;max-width:none!important;padding:0 20px!important;margin:0!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;pointer-events:none!important;z-index:2!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-title #pageTitle{font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif!important;font-size:17px!important;font-weight:400!important;line-height:19px!important;color:var(--p744d-pink)!important;white-space:nowrap!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-context{position:absolute!important;right:9px!important;left:auto!important;top:2px!important;width:181px!important;height:39px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;z-index:6!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq{width:181px!important;height:39px!important;display:grid!important;grid-template-columns:43px 52px 43px 43px!important;align-items:center!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq button{width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;display:grid!important;place-items:center!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq button img{width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important;object-fit:contain!important;display:block!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .agenda-top-icons-hq button:nth-child(2) img{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important}
body[data-active-view="agenda"] .topbar.agenda-topbar-mode .top-actions{display:none!important}

#view-agenda .agenda-date-strip{box-sizing:border-box!important;height:86.4px!important;min-height:86.4px!important;position:relative!important;display:grid!important;grid-template-columns:12px minmax(0,1fr) 12px 56px!important;align-items:start!important;padding:0 4px 0 0!important;background:#fff!important;border:0!important;overflow:hidden!important;z-index:20!important}
#view-agenda .agenda-days{box-sizing:border-box!important;height:86.4px!important;min-height:86.4px!important;display:flex!important;align-items:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-color:#979797 transparent!important;scrollbar-width:auto!important;white-space:nowrap!important;scroll-behavior:smooth!important}
#view-agenda .agenda-days::-webkit-scrollbar{height:10px!important}#view-agenda .agenda-days::-webkit-scrollbar-track{background:transparent!important}#view-agenda .agenda-days::-webkit-scrollbar-thumb{background:#979797!important;border-radius:6px!important}
#view-agenda .agenda-day{box-sizing:border-box!important;flex:0 0 50px!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:71.2px!important;min-height:71.2px!important;max-height:71.2px!important;margin:0 8px 0 0!important;padding:8px!important;border:0!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:normal!important;text-align:center!important;text-transform:capitalize!important;color:rgb(140,140,140)!important}
#view-agenda .agenda-day.sunday{margin-right:18px!important}#view-agenda .agenda-day strong,#view-agenda .agenda-day small{display:block!important;padding:0!important;margin:0!important;font:inherit!important;line-height:normal!important;color:inherit!important}#view-agenda .agenda-day.current,#view-agenda .agenda-day.selected{color:var(--p744d-pink)!important;background:#fff!important}
#view-agenda .strip-arrow{position:relative!important;width:12px!important;min-width:12px!important;max-width:12px!important;height:72px!important;min-height:72px!important;padding:0!important;margin:0!important;border:0!important;background:#fff!important;color:#969696!important;font-family:Arial,sans-serif!important;font-size:18px!important;line-height:72px!important;text-align:center!important;box-shadow:none!important}
#view-agenda .agenda-calendar-btn{box-sizing:border-box!important;width:56px!important;min-width:56px!important;height:72px!important;min-height:72px!important;padding:7px 2px 0!important;margin:0!important;border:0!important;background:#fff!important;color:var(--p744d-pink)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;box-shadow:none!important}
#view-agenda .agenda-calendar-btn img{width:24px!important;height:24px!important;object-fit:contain!important}#view-agenda .agenda-calendar-btn small{font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:14px!important;color:var(--p744d-pink)!important}

#view-agenda .agenda-grid-wrap{height:calc(100% - 86.4px)!important;min-height:0!important;overflow:auto!important;background:#fff!important;position:relative!important}
#view-agenda .agenda-grid{display:grid!important;grid-template-columns:85.8px repeat(var(--collabs),150px)!important;min-width:calc(85.8px + (var(--collabs) * 150px))!important;width:max-content!important;position:relative!important;background:#fff!important;font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif!important}
#view-agenda .agenda-header{box-sizing:border-box!important;position:sticky!important;top:0!important;z-index:12!important;height:40px!important;min-height:40px!important;padding:0 15px!important;border:0!important;border-bottom:.8px solid #d5d5d5!important;background:rgba(255,255,255,.96)!important;color:rgba(0,0,0,.87)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#view-agenda .agenda-header.agenda-disabled,#view-agenda .agenda-cell.agenda-disabled{background:var(--p744d-disabled)!important}
#view-agenda .agenda-time-major{box-sizing:border-box!important;height:35px!important;padding:0 5px 0 0!important;border-right:1px solid #dedede!important;border-bottom:1px solid #dedede!important;background:#fff!important;color:rgba(0,0,0,.54)!important;text-align:right!important;font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif!important;font-size:11px!important;font-weight:400!important;line-height:35px!important;z-index:2!important}
#view-agenda .agenda-time-major.hour{font-size:12px!important;font-weight:600!important}
#view-agenda .agenda-cell{box-sizing:border-box!important;height:11.6667px!important;min-height:11.6667px!important;border-right:1px solid #dedede!important;border-bottom:0!important;background:#fff!important;position:relative!important}#view-agenda .agenda-cell.half-end{border-bottom:1px solid #dedede!important}#view-agenda .agenda-cell.agenda-disabled{background:var(--p744d-disabled)!important}
#view-agenda .agenda-now{align-self:start!important;height:1px!important;background:#ff1453!important;z-index:15!important;pointer-events:none!important;position:relative!important;overflow:visible!important}#view-agenda .agenda-now::before{content:attr(data-time)!important;position:absolute!important;left:-85.8px!important;top:-8px!important;width:80px!important;padding-right:4px!important;text-align:right!important;color:#ff1453!important;background:#fff!important;font-family:Roboto,"Segoe UI",Arial,sans-serif!important;font-size:11px!important;line-height:16px!important}
#view-agenda .appointment-block{box-sizing:border-box!important;z-index:8!important;padding:2px 4px!important;border:0!important;border-left:4px solid var(--ap-color,#c5023c)!important;background:color-mix(in srgb,var(--ap-color,#c5023c) 15%,white)!important;box-shadow:none!important;overflow:hidden!important;font-family:Roboto,"Segoe UI",Arial,sans-serif!important;font-size:11px!important}#view-agenda .appointment-block b{display:block!important;font-size:11px!important;font-weight:600!important}#view-agenda .appointment-block span{display:block!important;font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

body[data-active-view="agenda"] .bottom-nav{height:56px!important;min-height:56px!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;justify-content:center!important;align-items:center!important;background:#fff!important;border-top:1px solid #e4e4e4!important;z-index:100!important}
body[data-active-view="agenda"] .bottom-nav button{flex:0 0 250px!important;width:250px!important;min-width:0!important;height:45px!important;min-height:45px!important;padding:0!important;margin:0 2px!important;border:0!important;background:#fff!important;color:rgba(0,0,0,.46)!important;font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif!important;font-size:12px!important;font-weight:700!important;gap:0!important}body[data-active-view="agenda"] .bottom-nav button.active{color:var(--p744d-pink)!important}body[data-active-view="agenda"] .bottom-nav button span{width:25px!important;height:23px!important;margin:0 auto!important}
@media(max-width:1050px){body[data-active-view="agenda"] .bottom-nav button{flex:1 1 25%!important;width:auto!important;margin:0!important}}
/* END P744D AGENDA STRUCTURAL PARITY */



/* ==============================================================
   P744F — INTERACTION PARITY / STAGING ONLY
   Fixes interaction model of the SalonApp-style appointment dock.
   ============================================================== */

#appointmentModal.event-dialog[open]{
  pointer-events:none !important;
  z-index:110 !important;
}

#appointmentModal.event-dialog[open] .salon-modal-form,
#appointmentModal.event-dialog[open] .event-layout,
#appointmentModal.event-dialog[open] .event-services-side,
#appointmentModal.event-dialog[open] .event-main{
  pointer-events:auto !important;
}

body[data-active-view="agenda"] .topbar{
  z-index:140 !important;
  pointer-events:auto !important;
}

body[data-active-view="agenda"] .agenda-date-strip{
  z-index:120 !important;
  pointer-events:auto !important;
}

body[data-active-view="agenda"] .bottom-nav{
  z-index:140 !important;
  pointer-events:auto !important;
}

#appointmentModal .appointment-service-picker{
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  touch-action:pan-y !important;
  scrollbar-gutter:stable !important;
  pointer-events:auto !important;
  min-height:0 !important;
}

#appointmentModal .event-body{
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  touch-action:pan-y !important;
  scrollbar-gutter:stable !important;
  pointer-events:auto !important;
  min-height:0 !important;
}

#appointmentModal .appointment-service-picker::-webkit-scrollbar,
#appointmentModal .event-body::-webkit-scrollbar{
  width:12px !important;
}

#appointmentModal .appointment-service-picker::-webkit-scrollbar-track,
#appointmentModal .event-body::-webkit-scrollbar-track{
  background:#f5f5f5 !important;
}

#appointmentModal .appointment-service-picker::-webkit-scrollbar-thumb,
#appointmentModal .event-body::-webkit-scrollbar-thumb{
  background:#8f8f8f !important;
  border-radius:6px !important;
  border:2px solid #f5f5f5 !important;
}

#appointmentModal .appointment-service-picker::-webkit-scrollbar-thumb:hover,
#appointmentModal .event-body::-webkit-scrollbar-thumb:hover{
  background:#707070 !important;
}

/* Keep the whole calendar live while the dock is open, like SalonApp. */
body.p744f-appointment-open #view-agenda,
body.p744f-appointment-open #view-agenda .agenda-grid-wrap,
body.p744f-appointment-open #view-agenda .agenda-grid,
body.p744f-appointment-open #view-agenda .agenda-cell,
body.p744f-appointment-open #view-agenda .agenda-day,
body.p744f-appointment-open .topbar,
body.p744f-appointment-open .bottom-nav{
  pointer-events:auto !important;
}

/* The dock occupies only its two panels. No invisible modal veil. */
#appointmentModal.event-dialog:not([open]){
  display:none !important;
}

/* END P744F INTERACTION PARITY */

/* ==============================================================
   P744G — AGENDA FUNCTIONAL TOPBAR PARITY / STAGING ONLY
   ============================================================== */

:root{
  --p744g-pink:#c5023c;
  --p744g-disabled:#e2e5f4;
}

/* --- toolbar controls: same ROLES as SalonApp --- */
body[data-active-view="agenda"] .agenda-top-icons-hq{
  overflow:visible !important;
}

body[data-active-view="agenda"] .agenda-top-icons-hq .p744g-top-btn{
  position:relative !important;
  width:43px !important;
  min-width:43px !important;
  height:39px !important;
  min-height:39px !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:#fff !important;
  color:var(--p744g-pink) !important;
  box-shadow:none !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

body[data-active-view="agenda"] .agenda-top-icons-hq .p744g-top-btn img{
  width:22px !important;
  height:22px !important;
  object-fit:contain !important;
  pointer-events:none !important;
}

body[data-active-view="agenda"] .p744g-range-btn{
  font-size:0 !important;
}
body[data-active-view="agenda"] .p744g-range-btn::after{
  content:attr(data-range) !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-49%) !important;
  width:17px !important;
  height:14px !important;
  display:grid !important;
  place-items:center !important;
  font-family:Roboto,Arial,sans-serif !important;
  font-size:10px !important;
  font-weight:600 !important;
  line-height:10px !important;
  color:var(--p744g-pink) !important;
  pointer-events:none !important;
}

body[data-active-view="agenda"] .p744g-slot-btn .p744g-slot-ring{
  box-sizing:border-box !important;
  width:22px !important;
  height:22px !important;
  border:2px solid var(--p744g-pink) !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  font-family:Roboto,Arial,sans-serif !important;
  font-size:9px !important;
  line-height:9px !important;
  font-weight:500 !important;
  color:var(--p744g-pink) !important;
}

/* --- week range header replaces day ribbon in 7-day mode --- */
#view-agenda .agenda-date-strip.p744g-week-mode{
  height:57px !important;
  min-height:57px !important;
  grid-template-columns:44px 1fr 44px !important;
  padding:0 !important;
  box-shadow:0 2px 12px rgba(0,0,0,.08) !important;
}

#view-agenda .agenda-date-strip.p744g-week-mode .agenda-days{
  height:57px !important;
  min-height:57px !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#view-agenda .agenda-week-label{
  height:57px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  font-family:Roboto,"Segoe UI",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  color:#2a2a2a !important;
}

#view-agenda .agenda-week-label .week-cal{
  color:var(--p744g-pink) !important;
  font-size:20px !important;
}

#view-agenda .agenda-date-strip.p744g-week-mode .strip-arrow{
  width:44px !important;
  max-width:44px !important;
  min-width:44px !important;
  height:57px !important;
  min-height:57px !important;
  line-height:57px !important;
  color:var(--p744g-pink) !important;
  font-size:24px !important;
}

#view-agenda .agenda-date-strip.p744g-week-mode .agenda-calendar-btn{
  display:none !important;
}

/* --- week grid: day header + collaborator subheader --- */
#view-agenda .agenda-grid.p744g-week-grid{
  --week-col:62px;
}

#view-agenda .p744g-day-header{
  position:sticky !important;
  top:0 !important;
  z-index:14 !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 6px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:#fff !important;
  border-bottom:1px solid #d7d7d7 !important;
  font-family:Roboto,"Segoe UI",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  color:#333 !important;
}

#view-agenda .agenda-grid.p744g-week-grid .agenda-header{
  top:34px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 5px !important;
  justify-content:center !important;
  font-size:11px !important;
  text-overflow:ellipsis !important;
}

#view-agenda .p744g-slot-cell{
  box-sizing:border-box !important;
  border-right:1px solid #dedede !important;
  border-bottom:1px solid #dedede !important;
  background:#fff !important;
  cursor:pointer !important;
}

#view-agenda .p744g-slot-cell.agenda-disabled,
#view-agenda .p744g-day-header.agenda-disabled{
  background:var(--p744g-disabled) !important;
}

#view-agenda .p744g-time-label{
  box-sizing:border-box !important;
  padding-right:6px !important;
  border-right:1px solid #dedede !important;
  border-bottom:1px solid #dedede !important;
  background:#fff !important;
  text-align:right !important;
  color:#666 !important;
  font-family:Roboto,"Segoe UI",Arial,sans-serif !important;
  font-size:10px !important;
  line-height:normal !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  padding-top:3px !important;
}

#view-agenda .p744g-time-label.hour{
  font-size:12px !important;
  font-weight:600 !important;
}

/* --- collaborator drawer --- */
#p744gCollabDrawer{
  position:fixed !important;
  top:44px !important;
  right:0 !important;
  width:198px !important;
  max-height:calc(100vh - 100px) !important;
  overflow-y:auto !important;
  background:#fff !important;
  box-shadow:0 4px 16px rgba(0,0,0,.22) !important;
  z-index:260 !important;
  font-family:"Comfortaa","Century Gothic",Arial,sans-serif !important;
}

#p744gCollabDrawer.hidden{
  display:none !important;
}

#p744gCollabDrawer button{
  box-sizing:border-box !important;
  width:100% !important;
  height:49px !important;
  min-height:49px !important;
  padding:0 15px !important;
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid #d8d8d8 !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  color:#222 !important;
  font:inherit !important;
  font-size:16px !important;
  text-align:left !important;
  cursor:pointer !important;
}

#p744gCollabDrawer button .person{
  color:var(--p744g-pink) !important;
  font-family:Arial,sans-serif !important;
  font-size:23px !important;
  line-height:1 !important;
}

#p744gCollabDrawer button.off{
  color:#9b9b9b !important;
}
#p744gCollabDrawer button.off .person{
  color:#9b9b9b !important;
}

/* --- Reminder overlay --- */
#p744gReminder{
  box-sizing:border-box !important;
  width:90vw !important;
  height:62vh !important;
  max-width:none !important;
  max-height:none !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:0 8px 32px rgba(0,0,0,.25) !important;
}

#p744gReminder::backdrop{
  background:rgba(0,0,0,.34) !important;
}

#p744gReminder .rem-head{
  height:45px !important;
  padding:0 15px 0 25px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  box-shadow:0 3px 14px rgba(0,0,0,.15) !important;
  color:var(--p744g-pink) !important;
  font-family:"Comfortaa","Century Gothic",Arial,sans-serif !important;
  font-size:16px !important;
}

#p744gReminder .rem-head button,
#p744gReminder .rem-datebar button{
  border:0 !important;
  background:#fff !important;
  color:var(--p744g-pink) !important;
  cursor:pointer !important;
  font-size:22px !important;
  box-shadow:none !important;
}

#p744gReminder .rem-datebar{
  height:52px !important;
  padding:0 14px !important;
  display:grid !important;
  grid-template-columns:44px 1fr 44px !important;
  align-items:center !important;
}

#p744gReminder .rem-date{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:20px !important;
  font-family:Roboto,"Segoe UI",Arial,sans-serif !important;
  font-size:15px !important;
  color:#333 !important;
}

#p744gReminder .rem-date .cal{
  color:var(--p744g-pink) !important;
  font-size:21px !important;
}

#p744gReminder .rem-list{
  height:calc(100% - 97px) !important;
  overflow-y:auto !important;
  padding:0 !important;
}

#p744gReminder .rem-empty{
  padding:25px 16px !important;
  font-family:"Comfortaa","Century Gothic",Arial,sans-serif !important;
  font-size:15px !important;
  color:#222 !important;
}

#p744gReminder .rem-row{
  box-sizing:border-box !important;
  min-height:48px !important;
  padding:0 18px !important;
  display:grid !important;
  grid-template-columns:32px 1fr auto !important;
  align-items:center !important;
  gap:10px !important;
  border-bottom:1px solid #d8d8d8 !important;
  font-family:"Comfortaa","Century Gothic",Arial,sans-serif !important;
  font-size:15px !important;
}

#p744gReminder .rem-row .person{
  color:var(--p744g-pink) !important;
  font-size:21px !important;
}
#p744gReminder .rem-actions{
  display:flex !important;
  gap:8px !important;
}
#p744gReminder .rem-actions button{
  width:34px !important;
  height:34px !important;
  border:0 !important;
  background:#fff !important;
  color:var(--p744g-pink) !important;
  font-size:21px !important;
  cursor:pointer !important;
}
#p744gReminder .rem-actions button:disabled{
  color:#aaa !important;
  cursor:default !important;
}

/* END P744G AGENDA FUNCTIONAL TOPBAR PARITY */

/* ==============================================================
   P744H — AGENDA VISUAL PARITY / STAGING ONLY
   Pixel/geometry corrections from direct SalonApp comparisons.
   Logic from P744G is preserved.
   ============================================================== */

:root{
  --p744h-pink:#c5023c;
  --p744h-grid:#dedede;
  --p744h-disabled:#dfe3f3;
}

/* ---------- DAILY GRID: SalonApp uses 35px per VISIBLE interval ---------- */
#view-agenda .p744g-day-grid .p744g-time-label,
#view-agenda .p744g-day-grid .p744g-slot-cell{
  border-color:var(--p744h-grid) !important;
}

#view-agenda .p744g-time-label{
  padding-right:7px !important;
  color:rgba(0,0,0,.54) !important;
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-size:10px !important;
  font-weight:400 !important;
}

#view-agenda .p744g-time-label.hour{
  font-size:14px !important;
  font-weight:500 !important;
}

/* Original SalonApp resource header */
#view-agenda .agenda-header{
  padding:0 15px !important;
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:normal !important;
  color:rgba(0,0,0,.87) !important;
}

/* ---------- 7 DAY VIEW ---------- */
#view-agenda .agenda-date-strip.p744g-week-mode{
  height:56px !important;
  min-height:56px !important;
  grid-template-columns:50px minmax(0,1fr) 50px !important;
  border-bottom:1px solid #e0e0e0 !important;
  box-shadow:0 2px 10px rgba(0,0,0,.08) !important;
}

#view-agenda .agenda-date-strip.p744g-week-mode .agenda-days{
  height:56px !important;
  min-height:56px !important;
}

#view-agenda .agenda-week-label{
  height:56px !important;
  gap:22px !important;
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  color:#2d2d2d !important;
}

#view-agenda .agenda-week-label .week-cal{
  width:22px !important;
  height:22px !important;
  display:inline-grid !important;
  place-items:center !important;
  color:var(--p744h-pink) !important;
  font-size:20px !important;
}

#view-agenda .agenda-date-strip.p744g-week-mode .strip-arrow{
  width:50px !important;
  min-width:50px !important;
  max-width:50px !important;
  height:56px !important;
  min-height:56px !important;
  line-height:56px !important;
  color:var(--p744h-pink) !important;
  font-size:0 !important;
  position:relative !important;
}

#view-agenda .agenda-date-strip.p744g-week-mode .strip-arrow::before{
  content:"‹" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  box-sizing:border-box !important;
  width:20px !important;
  height:20px !important;
  border:1.5px solid var(--p744h-pink) !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  font-family:Arial,sans-serif !important;
  font-size:20px !important;
  line-height:16px !important;
  color:var(--p744h-pink) !important;
}

#view-agenda .agenda-date-strip.p744g-week-mode .strip-arrow:nth-of-type(2)::before{
  content:"›" !important;
}

/* Original week header: day band 40px + collaborator band 40px */
#view-agenda .p744g-day-header{
  height:40px !important;
  min-height:40px !important;
  padding:0 6px !important;
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  justify-content:flex-start !important;
  background:#fff !important;
  border-bottom:1px solid #d8d8d8 !important;
}

#view-agenda .agenda-grid.p744g-week-grid .agenda-header{
  top:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 5px !important;
  justify-content:center !important;
  font-size:11px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#view-agenda .agenda-grid.p744g-week-grid .agenda-disabled,
#view-agenda .p744g-day-header.agenda-disabled,
#view-agenda .p744g-slot-cell.agenda-disabled{
  background:var(--p744h-disabled) !important;
}

/* ---------- COLLABORATOR DRAWER ---------- */
#p744gCollabDrawer{
  width:198px !important;
  top:44px !important;
  right:0 !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:0 3px 14px rgba(0,0,0,.20) !important;
  scrollbar-width:thin !important;
}

#p744gCollabDrawer button{
  height:50px !important;
  min-height:50px !important;
  padding:0 14px !important;
  gap:12px !important;
  border-bottom:1px solid #d8d8d8 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
  color:#222 !important;
}

#p744gCollabDrawer .p744h-person-icon{
  width:21px !important;
  height:21px !important;
  flex:0 0 21px !important;
  object-fit:contain !important;
  display:block !important;
}

#p744gCollabDrawer button.off{
  color:#999 !important;
  opacity:.52 !important;
}

/* ---------- REMINDER ---------- */
#p744gReminder{
  width:90vw !important;
  height:62vh !important;
  max-width:none !important;
  max-height:none !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
}

#p744gReminder .rem-head{
  height:45px !important;
  min-height:45px !important;
  padding:0 15px 0 25px !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
}

#p744gReminder .rem-datebar{
  height:52px !important;
  min-height:52px !important;
  padding:0 14px !important;
}

#p744gReminder .rem-date{
  gap:22px !important;
  font-family:Roboto,"Segoe UI","Helvetica Neue",Arial,sans-serif !important;
  font-size:15px !important;
}

#p744gReminder .rem-row{
  min-height:48px !important;
  height:48px !important;
  padding:0 18px !important;
  grid-template-columns:26px 1fr auto !important;
  gap:10px !important;
  border-bottom:1px solid #d8d8d8 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:15px !important;
}

#p744gReminder .rem-row .p744h-person-icon{
  width:20px !important;
  height:20px !important;
  object-fit:contain !important;
  display:block !important;
}

#p744gReminder .p744h-gift{
  position:relative !important;
  width:28px !important;
  height:28px !important;
  border:0 !important;
  background:#fff !important;
  color:transparent !important;
  font-size:0 !important;
}

#p744gReminder .p744h-gift::before{
  content:"" !important;
  position:absolute !important;
  left:7px !important;
  top:10px !important;
  width:14px !important;
  height:11px !important;
  border:2px solid var(--p744h-pink) !important;
  border-radius:1px !important;
  box-sizing:border-box !important;
}

#p744gReminder .p744h-gift::after{
  content:"" !important;
  position:absolute !important;
  left:5px !important;
  top:7px !important;
  width:18px !important;
  height:5px !important;
  border:2px solid var(--p744h-pink) !important;
  box-sizing:border-box !important;
  box-shadow:
    7px 5px 0 -5px var(--p744h-pink),
    7px 9px 0 -5px var(--p744h-pink) !important;
}

/* ---------- BOTTOM BAR ---------- */
body[data-active-view="agenda"] .bottom-nav{
  height:56.8px !important;
  min-height:56.8px !important;
}

body[data-active-view="agenda"] .bottom-nav button{
  height:45px !important;
  min-height:45px !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
}

/* END P744H AGENDA VISUAL PARITY */

/* ==============================================================
   P744K — APPOINTMENT EDITOR CONSOLIDATED / STAGING ONLY
   One structural implementation. Replaces P744E/P744I/P744J editor layers.
   ============================================================== */

:root{
  --k-pink:#c5023c;
  --k-orange:#dd8f4a;
  --k-line:rgba(0,0,0,.13);
  --k-shadow:0 3px 6px rgba(0,0,0,.20);
}

/* Dialog occupies ONLY the editor dock; Agenda/topbar stay live. */
#appointmentModal.k-appointment-dialog{
  box-sizing:border-box !important;
  position:fixed !important;
  inset:44px 10px 56px auto !important;
  width:935px !important;
  max-width:calc(100vw - 78px) !important;
  height:calc(100vh - 100px) !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
}
#appointmentModal.k-appointment-dialog::backdrop{display:none !important}
#appointmentModal.k-appointment-dialog:not([open]){display:none !important}

#appointmentModal .k-appointment-form{
  width:100% !important;height:100% !important;margin:0 !important;padding:0 !important;
  background:transparent !important;overflow:visible !important;
}
#appointmentModal .k-event-layout{
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:400px 525px !important;
  column-gap:10px !important;
  width:935px !important;height:100% !important;
  min-height:0 !important;background:transparent !important;
}

/* LEFT PANEL — P743: 400 outer / 390 content / header 44 / search 52 */
#appointmentModal .k-services-side{
  box-sizing:border-box !important;width:400px !important;height:100% !important;
  min-height:0 !important;padding:0 5px !important;margin:0 !important;
  border:0 !important;background:#fff !important;overflow:hidden !important;
}
#appointmentModal .k-side-head{
  box-sizing:border-box !important;width:390px !important;height:44px !important;min-height:44px !important;
  padding:0 5px !important;margin:0 !important;display:flex !important;align-items:center !important;
  justify-content:space-between !important;background:#fff !important;
  box-shadow:0 3px 15px rgba(0,0,0,.20) !important;z-index:20 !important;
}
#appointmentModal .k-side-head h3{
  margin:0 !important;padding:0 0 0 0 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:17px !important;font-weight:400 !important;line-height:19.2px !important;
  color:var(--k-pink) !important;
}
#appointmentModal .k-side-close{
  box-sizing:border-box !important;width:38.95px !important;height:36px !important;min-width:38.95px !important;
  margin:0 !important;padding:0 !important;border:0 !important;background:#fff !important;box-shadow:none !important;
  color:var(--k-pink) !important;font-family:Arial,sans-serif !important;font-size:24px !important;font-weight:300 !important;
  line-height:36px !important;cursor:pointer !important;
}

#appointmentModal .k-service-search{
  box-sizing:border-box !important;position:relative !important;width:390px !important;height:52px !important;
  padding:7px 17px !important;background:#fff !important;
}
#appointmentModal .k-service-search input{
  -webkit-appearance:none !important;appearance:none !important;
  box-sizing:border-box !important;width:356px !important;height:36px !important;min-height:36px !important;
  padding:0 14px 0 42px !important;margin:0 !important;border:1px solid #aaa !important;border-radius:8px !important;
  background:#f3f3f3 !important;box-shadow:none !important;outline:none !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:17px !important;font-weight:400 !important;color:#30384c !important;
}
#appointmentModal .k-service-search input::-webkit-search-cancel-button{display:none !important}
#appointmentModal .k-search-mark{
  position:absolute !important;left:143px !important;top:14px !important;width:22px !important;height:22px !important;
  border:2px solid #30384c !important;border-radius:50% !important;box-sizing:border-box !important;
  pointer-events:none !important;opacity:.95 !important;
}
#appointmentModal .k-search-mark::after{
  content:"" !important;position:absolute !important;right:-5px !important;bottom:-3px !important;
  width:7px !important;height:2px !important;background:#30384c !important;transform:rotate(45deg) !important;border-radius:1px !important;
}

#appointmentModal .k-service-picker{
  box-sizing:border-box !important;width:390px !important;height:calc(100% - 96px) !important;
  min-height:0 !important;padding:0 !important;margin:0 !important;overflow-y:scroll !important;overflow-x:hidden !important;
  background:#fff !important;overscroll-behavior:contain !important;touch-action:pan-y !important;
}
#appointmentModal .k-service-picker .picker-header{
  box-sizing:border-box !important;width:374.8px !important;height:56px !important;min-height:56px !important;
  padding:0 5px !important;margin:0 !important;display:flex !important;align-items:center !important;
  background:#fff !important;color:var(--k-pink) !important;
  box-shadow:0 3px 15px rgba(0,0,0,.18) !important;z-index:3 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:17px !important;font-weight:400 !important;line-height:19.2px !important;
}
#appointmentModal .k-service-picker .picker-header.k-preferred-header{
  height:45px !important;min-height:45px !important;
}
#appointmentModal .k-service-picker .picker-service{
  box-sizing:border-box !important;width:374.8px !important;height:48.8px !important;min-height:48.8px !important;
  padding:0 15px !important;margin:0 !important;display:flex !important;align-items:center !important;
  border:0 !important;border-left:9.6px solid var(--k-service-color,#3f51b5) !important;
  border-bottom:.8px solid rgba(0,0,0,.13) !important;background:#fff !important;color:#111 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;font-weight:400 !important;line-height:18.4px !important;
  cursor:pointer !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;
}
#appointmentModal .k-service-picker .picker-service:hover{background:#fafafa !important}

/* RIGHT PANEL — P743: 525 outer / 515 content / header 44 */
#appointmentModal .k-event-main{
  box-sizing:border-box !important;position:relative !important;width:525px !important;height:100% !important;
  min-height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;background:#fff !important;
}
#appointmentModal .k-main-head{
  box-sizing:border-box !important;position:relative !important;width:515px !important;height:44px !important;min-height:44px !important;
  padding:0 51.95px !important;margin:0 !important;display:flex !important;align-items:center !important;background:#fff !important;
  box-shadow:0 3px 15px rgba(0,0,0,.20) !important;z-index:30 !important;
}
#appointmentModal .k-main-head h3{
  margin:0 !important;padding:0 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:17px !important;font-weight:400 !important;line-height:19.2px !important;letter-spacing:.2px !important;
  color:var(--k-pink) !important;
}
#appointmentModal .k-back,
#appointmentModal .k-save-event{
  position:absolute !important;top:4px !important;box-sizing:border-box !important;
  width:38.95px !important;height:36px !important;min-width:38.95px !important;min-height:36px !important;
  margin:0 !important;padding:0 !important;border:0 !important;background:#fff !important;box-shadow:none !important;cursor:pointer !important;
}
#appointmentModal .k-back{left:11px !important}
#appointmentModal .k-save-event{right:11px !important;display:grid !important;place-items:center !important}
#appointmentModal .k-save-event img{width:22.95px !important;height:22.95px !important;object-fit:contain !important}
#appointmentModal .k-back::before{
  content:"" !important;display:block !important;width:22.95px !important;height:22.95px !important;margin:auto !important;
  background-repeat:no-repeat !important;background-position:center !important;background-size:22.95px 22.95px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.8' fill='none' stroke='%23c5023c' stroke-width='1.8'/%3E%3Cpath d='M10.5 8.2 7 11.4l3.5 3.2M7.4 11.4h5.8c2.3 0 3.8 1.5 3.8 3.6' fill='none' stroke='%23c5023c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* IMPORTANT: exact local SalonApp background, NOT repeated remote tiles. */
#appointmentModal .k-event-body{
  box-sizing:border-box !important;width:515px !important;height:calc(100% - 44px) !important;min-height:0 !important;
  margin:0 !important;padding:0 15.2px 12px 0 !important;overflow-y:scroll !important;overflow-x:hidden !important;
  overscroll-behavior:contain !important;touch-action:pan-y !important;
  background:#fff url("/static/native-salonapp/28.jpg?v={{ version }}") center center / cover no-repeat !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased !important;text-rendering:optimizeLegibility !important;
}

/* CLIENTE / TELEFONO: 499.8 total = 459.8 main + 40 action */
#appointmentModal .k-client-row,
#appointmentModal .k-phone-row{
  box-sizing:border-box !important;width:499.8px !important;display:grid !important;grid-template-columns:459.8px 40px !important;
  margin:0 !important;padding:0 !important;background:transparent !important;
}
#appointmentModal .k-client-row{height:83.2px !important;min-height:83.2px !important}
#appointmentModal .k-phone-row{height:78.4px !important;min-height:78.4px !important}
#appointmentModal .k-client-main,
#appointmentModal .k-phone-main{
  box-sizing:border-box !important;width:459.8px !important;padding:9.2px 0 6px 16px !important;margin:0 !important;
}
#appointmentModal .k-field-label{
  display:block !important;height:13.8px !important;margin:0 !important;padding:0 !important;
  color:var(--k-pink) !important;font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:12px !important;font-weight:400 !important;line-height:13.8px !important;
}
#appointmentModal .k-client-picker{position:relative !important;width:427.8px !important;height:42px !important}
#appointmentModal #aClientSearch,
#appointmentModal #aPhone{
  -webkit-appearance:none !important;appearance:none !important;
  box-sizing:border-box !important;width:427.8px !important;height:36px !important;min-height:36px !important;
  margin:7px 0 0 !important;padding:0 34px 0 7px !important;border:.8px solid #dedede !important;
  border-bottom:1px solid var(--k-pink) !important;border-radius:5px !important;background:#fff !important;
  box-shadow:var(--k-shadow) !important;outline:none !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;font-weight:400 !important;line-height:34px !important;color:#111 !important;
}
#appointmentModal #aClientSearch::-webkit-search-cancel-button{display:none !important}
#appointmentModal .k-client-clear{
  position:absolute !important;right:5px !important;top:12px !important;width:24px !important;height:24px !important;min-width:24px !important;
  padding:0 !important;margin:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important;
  color:#555 !important;font-family:Arial,sans-serif !important;font-size:22px !important;font-weight:300 !important;line-height:24px !important;
  display:grid !important;place-items:center !important;cursor:pointer !important;z-index:4 !important;
}
#appointmentModal .k-client-clear.hidden{display:none !important}
#appointmentModal .k-side-action{
  box-sizing:border-box !important;width:40px !important;height:40px !important;min-width:40px !important;min-height:40px !important;
  align-self:end !important;margin:0 0 10px !important;padding:8px !important;border:0 !important;background:transparent !important;
  box-shadow:none !important;display:grid !important;place-items:center !important;cursor:pointer !important;
}
#appointmentModal .k-side-action img{width:24px !important;height:24px !important;object-fit:contain !important}
#appointmentModal .k-side-action:disabled{opacity:.32 !important;cursor:default !important}

/* Client historical NOTE: shown only when real data exists */
#appointmentModal .k-client-history{
  box-sizing:border-box !important;width:499.8px !important;padding:0 20px 8px 16px !important;margin:0 !important;
}
#appointmentModal .k-client-history.hidden{display:none !important}
#appointmentModal .k-client-history-box{
  box-sizing:border-box !important;width:459.8px !important;height:72px !important;min-height:72px !important;max-height:72px !important;
  margin:5px 0 0 !important;padding:7px 10px !important;overflow-y:auto !important;overflow-x:hidden !important;
  border:.8px solid #dedede !important;border-radius:5px !important;background:#fff !important;box-shadow:var(--k-shadow) !important;
  color:#111 !important;font-family:Roboto,"Helvetica Neue",Arial,sans-serif !important;font-size:13px !important;line-height:16px !important;
}
#appointmentModal .k-history-entry + .k-history-entry{margin-top:6px !important;padding-top:6px !important;border-top:1px solid #e6e6e6 !important}

/* Divider */
#appointmentModal .k-event-divider{
  box-sizing:border-box !important;width:435.8px !important;height:1px !important;margin:18px 32px 8px !important;
  background:var(--k-pink) !important;border:0 !important;
}

/* Date/time: P743 249.9 each; icon 24; input 189.9 x 35 */
#appointmentModal .k-date-time{
  box-sizing:border-box !important;width:499.8px !important;height:66px !important;min-height:66px !important;
  margin:0 !important;padding:5px 0 10px !important;display:grid !important;grid-template-columns:249.9px 249.9px !important;
}
#appointmentModal .k-date-item{
  box-sizing:border-box !important;width:249.9px !important;height:48px !important;margin:0 !important;padding:0 !important;
  display:grid !important;grid-template-columns:44px 189.9px !important;align-items:center !important;
}
#appointmentModal .k-date-item img{width:24px !important;height:24px !important;margin-left:16px !important;object-fit:contain !important}
#appointmentModal .k-date-item input{
  -webkit-appearance:none !important;appearance:none !important;
  box-sizing:border-box !important;width:189.9px !important;height:35px !important;min-height:35px !important;
  margin:0 !important;padding:0 8px !important;border:.8px solid #dedede !important;border-radius:5px !important;
  background:#fff !important;box-shadow:var(--k-shadow) !important;outline:none !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:16px !important;font-weight:400 !important;color:#111 !important;
}
#appointmentModal .k-date-item input::-webkit-calendar-picker-indicator{opacity:0 !important;width:0 !important;height:0 !important;margin:0 !important;padding:0 !important}

/* Event phases */
#appointmentModal .k-event-phases{box-sizing:border-box !important;width:499.8px !important;margin:0 !important;padding:0 !important}
#appointmentModal .k-phase{
  box-sizing:border-box !important;width:499.8px !important;margin:0 !important;padding:0 0 7px !important;
  background:rgba(255,255,255,.20) !important;box-shadow:0 0 20px rgba(0,0,0,.05) !important;
}
#appointmentModal .k-phase-caption{
  box-sizing:border-box !important;height:27px !important;padding:5px 17px 0 !important;
  color:var(--k-pink) !important;font-family:Roboto,"Helvetica Neue",Arial,sans-serif !important;font-size:11px !important;line-height:16px !important;
}
#appointmentModal .k-phase-row{
  box-sizing:border-box !important;width:499.8px !important;height:50px !important;display:grid !important;
  grid-template-columns:44px 1fr 42px !important;align-items:center !important;margin:0 !important;padding:0 !important;
}
#appointmentModal .k-phase-icon{width:44px !important;height:50px !important;display:grid !important;place-items:center !important}
#appointmentModal .k-phase-icon svg{width:24px !important;height:24px !important}
#appointmentModal .k-phase-row select{
  -webkit-appearance:none !important;appearance:none !important;
  box-sizing:border-box !important;width:100% !important;height:40.8px !important;min-height:40.8px !important;
  margin:0 !important;padding:0 7px !important;border:0 !important;border-bottom:1px solid var(--k-pink) !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;outline:none !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:16px !important;font-weight:400 !important;
  color:rgba(0,0,0,.54) !important;cursor:pointer !important;
}
#appointmentModal .k-color{
  -webkit-appearance:none !important;appearance:none !important;
  box-sizing:border-box !important;width:32px !important;height:32px !important;padding:0 !important;margin:0 8px 0 2px !important;
  border:0 !important;background:transparent !important;cursor:pointer !important;
}
#appointmentModal .k-color::-webkit-color-swatch-wrapper{padding:0 !important}
#appointmentModal .k-color::-webkit-color-swatch{border:0 !important;border-radius:0 !important}
#appointmentModal .k-remove-phase{
  width:32px !important;height:32px !important;min-width:32px !important;min-height:32px !important;
  padding:6px !important;margin:0 5px !important;border:0 !important;background:transparent !important;box-shadow:none !important;cursor:pointer !important;
}
#appointmentModal .k-remove-phase img{width:20px !important;height:20px !important;object-fit:contain !important}

/* duration + wait */
#appointmentModal .k-phase-time{
  box-sizing:border-box !important;width:499.8px !important;height:59px !important;min-height:59px !important;
  padding:5px 16px !important;display:flex !important;align-items:center !important;gap:18px !important;
}
#appointmentModal .k-time-card{
  box-sizing:border-box !important;width:189.9px !important;height:40px !important;display:grid !important;
  grid-template-columns:32px 1fr 28px 28px !important;align-items:center !important;
  border:0 !important;border-radius:5px !important;background:#fff !important;box-shadow:var(--k-shadow) !important;
}
#appointmentModal .k-time-card.k-wait{width:183px !important}
#appointmentModal .k-time-card svg{width:24px !important;height:24px !important;margin-left:5px !important}
#appointmentModal .k-time-value{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important;font-weight:400 !important;color:#333 !important;
}
#appointmentModal .k-time-card button{
  width:28px !important;height:38px !important;min-width:28px !important;padding:0 !important;margin:0 !important;
  border:0 !important;background:transparent !important;box-shadow:none !important;color:rgba(0,0,0,.54) !important;
  font-family:Arial,sans-serif !important;font-size:21px !important;font-weight:300 !important;cursor:pointer !important;
}

/* + phase row */
#appointmentModal .k-add-phase{
  box-sizing:border-box !important;width:499.8px !important;height:48px !important;min-height:48px !important;
  margin:0 !important;padding:0 22px !important;border:0 !important;background:transparent !important;box-shadow:none !important;
  display:grid !important;grid-template-columns:1fr 48px 1fr !important;align-items:center !important;cursor:pointer !important;
}
#appointmentModal .k-add-phase span{height:1px !important;background:var(--k-pink) !important}
#appointmentModal .k-add-phase b{
  display:grid !important;place-items:center !important;font-family:Arial,sans-serif !important;font-size:25px !important;font-weight:300 !important;color:#111 !important;
}

/* NOTE */
#appointmentModal .k-notes-field{
  box-sizing:border-box !important;display:block !important;width:499.8px !important;height:109.2px !important;min-height:109.2px !important;
  margin:0 !important;padding:9.2px 15px 0 16px !important;color:var(--k-pink) !important;
}
#appointmentModal #aNotes{
  box-sizing:border-box !important;display:block !important;width:467.8px !important;height:80.8px !important;min-height:80.8px !important;
  margin:5px 0 0 !important;padding:7px !important;border:.8px solid #dedede !important;border-radius:5px !important;
  background:#fff !important;box-shadow:var(--k-shadow) !important;resize:none !important;outline:none !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:16px !important;color:#111 !important;
}
#appointmentModal .k-promo-field{display:none !important}

/* advanced + confirmation: P743 495.8 x32 and 449.8 x32 */
#appointmentModal .k-advanced{
  box-sizing:border-box !important;width:495.8px !important;min-height:32px !important;margin:6px 2px 0 !important;padding:0 !important;border:0 !important;background:transparent !important;
}
#appointmentModal .k-advanced summary{
  box-sizing:border-box !important;width:495.8px !important;height:32px !important;min-height:32px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  list-style:none !important;cursor:pointer !important;color:var(--k-pink) !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important;font-weight:500 !important;
}
#appointmentModal .k-advanced summary::-webkit-details-marker{display:none !important}
#appointmentModal .k-advanced summary::before{content:"⌄ " !important}
#appointmentModal .k-advanced label{
  box-sizing:border-box !important;display:block !important;padding:8px 16px !important;color:var(--k-pink) !important;font-size:12px !important;
}
#appointmentModal .k-advanced select{
  -webkit-appearance:none !important;appearance:none !important;box-sizing:border-box !important;width:100% !important;height:36px !important;
  margin-top:5px !important;padding:0 10px !important;border:.8px solid #dedede !important;border-radius:4px !important;background:#fff !important;box-shadow:var(--k-shadow) !important;
}
#appointmentModal .k-send-confirmation{
  box-sizing:border-box !important;width:449.8px !important;height:32px !important;min-height:32px !important;
  margin:5px 25px 5px !important;padding:0 12px !important;border:0 !important;border-radius:3px !important;
  background:#d60042 !important;color:#fff !important;box-shadow:0 2px 4px rgba(0,0,0,.14) !important;
  display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;cursor:pointer !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important;font-weight:500 !important;line-height:32px !important;
}
#appointmentModal .k-send-confirmation img{width:18.9px !important;height:18.9px !important;object-fit:contain !important;filter:brightness(0) invert(1) !important}
#appointmentModal .k-send-confirmation:disabled{background:#df7595 !important;cursor:default !important}

/* independent scrollbars */
#appointmentModal .k-service-picker::-webkit-scrollbar,
#appointmentModal .k-event-body::-webkit-scrollbar{width:10px !important}
#appointmentModal .k-service-picker::-webkit-scrollbar-track,
#appointmentModal .k-event-body::-webkit-scrollbar-track{background:#f4f4f4 !important}
#appointmentModal .k-service-picker::-webkit-scrollbar-thumb,
#appointmentModal .k-event-body::-webkit-scrollbar-thumb{background:#858585 !important;border:2px solid #f4f4f4 !important;border-radius:6px !important}

/* remote suggestions must float over the dock */
#appointmentModal .remote-client-suggestions{z-index:500 !important}

/* smaller viewport safety, desktop remains the reference */
@media(max-width:1050px){
  #appointmentModal.k-appointment-dialog{right:0 !important;width:96vw !important;max-width:96vw !important}
  #appointmentModal .k-event-layout{width:100% !important;grid-template-columns:42% 58% !important;column-gap:0 !important}
  #appointmentModal .k-services-side,#appointmentModal .k-event-main,#appointmentModal .k-side-head,
  #appointmentModal .k-service-search,#appointmentModal .k-service-picker,#appointmentModal .k-main-head,
  #appointmentModal .k-event-body{width:100% !important}
}

/* END P744K APPOINTMENT EDITOR CONSOLIDATED */

/* ======================================================================
   P744L — HOME / LISTINO VISUAL PARITY + WHATSAPP GLYPH FIX
   Reference: TUTTA LA HOME.mp4 / SalonApp Listino captures.
   ====================================================================== */

/* LISTINO: fixed-light SalonApp reference with local native background. */
#view-services{
  background-color:#fff !important;
  background-image:url('/static/native-salonapp/28.jpg') !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  color:#30303a !important;
  color-scheme:light !important;
}
#view-services .listino-search{
  height:32px !important;
  margin:8px 10px 7px !important;
  border:1px solid #bfc1c8 !important;
  border-radius:8px !important;
  background:#f7f7f8 !important;
  box-shadow:0 4px 9px rgba(0,0,0,.07) !important;
}
#view-services .listino-search input{font-size:16px !important;color:#5d6272 !important}
#view-services .salon-tabs{
  height:47px !important;
  min-height:47px !important;
  background:#fff !important;
  border-bottom:1px solid #dedee2 !important;
  box-shadow:0 3px 8px rgba(0,0,0,.08) !important;
}
#view-services .salon-tabs button{
  height:47px !important;
  padding:0 10px !important;
  background:#fff !important;
  color:#555967 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  border-bottom:2px solid transparent !important;
}
#view-services .salon-tabs button.active{color:#cf0049 !important;border-bottom-color:#cf0049 !important}

#view-services .salon-service-groups,
#view-services .salon-simple-list{
  width:min(1160px,72vw) !important;
  max-width:1160px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  background:transparent !important;
}
#view-services .service-group-block{
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
#view-services .service-group-title{
  box-sizing:border-box !important;
  height:47px !important;
  min-height:47px !important;
  padding:0 16px !important;
  background:#fff !important;
  border-bottom:1px solid #dedee2 !important;
  color:#c60043 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:17px !important;
  font-weight:400 !important;
}
#view-services .service-group-title .thin-icon{
  width:38px !important;height:38px !important;min-width:38px !important;min-height:38px !important;
  color:#666 !important;font-size:22px !important;font-weight:300 !important;
}
#view-services .service-row{
  box-sizing:border-box !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 17px !important;
  background:#eff0f5 !important;
  border-top:0 !important;
  border-bottom:1px solid #d2d3da !important;
  color:#3e4354 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:400 !important;
}
#view-services .service-row:hover{background:#e9eaf0 !important}
#view-services .service-row .price-badge{
  min-width:52px !important;
  margin-left:auto !important;
  padding:4px 9px !important;
  border-radius:5px !important;
  background:#c60043 !important;
  color:#fff !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:18px !important;
  font-weight:400 !important;
}
#view-services .simple-row{
  min-height:48px !important;padding:0 16px !important;align-items:center !important;
  background:#fff !important;border-bottom:1px solid #d5d5d9 !important;
  color:#3e4354 !important;font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
}
#view-services .count-footer{
  min-height:45px !important;padding:0 18px !important;display:flex !important;align-items:center !important;
  background:#fff !important;border-top:1px solid #dedee2 !important;color:#c60043 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important;
}

/* P744K icon bug: source PNG contains a rounded tile; use a transparent vector glyph. */
#appointmentModal .p744l-whatsapp-glyph{display:block !important;flex:0 0 auto !important;fill:currentColor !important}
#appointmentModal .k-send-confirmation .p744l-whatsapp-glyph{width:18.5px !important;height:18.5px !important;color:#fff !important}
#appointmentModal .k-whatsapp-action{color:#d60042 !important}
#appointmentModal .k-whatsapp-action .p744l-whatsapp-glyph{width:24px !important;height:24px !important;color:#d60042 !important}
#appointmentModal .k-send-confirmation img[src*="ui-whatsapp-hq"],
#appointmentModal .k-whatsapp-action img[src*="ui-whatsapp-hq"]{display:none !important}

@media(max-width:900px){
  #view-services .salon-service-groups,#view-services .salon-simple-list{width:100% !important;max-width:none !important}
  #view-services .service-row{font-size:14px !important;padding:0 11px !important}
}

/* END P744L GLOBAL HOME / LISTINO */

/* ==============================================================
   P744N — DATE/TIME MODAL + ADVANCED FLOW PARITY / STAGING ONLY
   ============================================================== */
#appointmentModal .k-date-item{
  cursor:pointer !important; user-select:none !important; -webkit-user-select:none !important;
}
#appointmentModal .k-date-item input{
  cursor:pointer !important; user-select:none !important; -webkit-user-select:none !important;
  caret-color:transparent !important;
}

/* Fix the advanced section as real document flow: no status/select can sit under confirmation. */
#appointmentModal .k-advanced{
  position:relative !important; inset:auto !important; overflow:visible !important;
  display:block !important; height:auto !important; max-height:none !important;
  width:495.8px !important; min-height:32px !important;
  margin:6px 2px 0 !important; padding:0 !important; clear:both !important;
}
#appointmentModal .k-advanced summary{
  position:relative !important; height:32px !important; min-height:32px !important;
  gap:7px !important; user-select:none !important; -webkit-user-select:none !important;
}
#appointmentModal .k-advanced summary::before{
  content:"" !important; display:inline-block !important; width:7px !important; height:7px !important;
  border-right:1.5px solid #c5023c !important; border-bottom:1.5px solid #c5023c !important;
  transform:rotate(45deg) translateY(-2px) !important; transform-origin:center !important;
  transition:transform .14s ease !important;
}
#appointmentModal .k-advanced[open] summary::before{
  transform:rotate(225deg) translate(-1px,-1px) !important;
}
#appointmentModal .k-advanced > label{
  position:static !important; inset:auto !important; box-sizing:border-box !important;
  display:block !important; width:100% !important; min-height:58px !important;
  margin:0 !important; padding:7px 16px 12px !important; float:none !important;
}
#appointmentModal .k-advanced > label > select{
  position:static !important; inset:auto !important; display:block !important; float:none !important;
  box-sizing:border-box !important; width:100% !important; height:36px !important; min-height:36px !important;
  margin:5px 0 0 !important;
}
#appointmentModal .k-send-confirmation{
  position:relative !important; inset:auto !important; z-index:1 !important; float:none !important; clear:both !important;
  display:flex !important; width:449.8px !important; height:32px !important; min-height:32px !important;
  margin:7px 25px 16px !important; flex:none !important;
}
#appointmentModal .k-event-body{padding-bottom:18px !important}

/* Orario appuntamento — reference geometry from original SalonApp recording. */
#p744nTimeModal{
  box-sizing:border-box !important; width:min(1000px,88vw) !important; max-width:1000px !important;
  height:min(665px,82vh) !important; max-height:665px !important; margin:auto !important;
  padding:0 !important; border:0 !important; border-radius:0 !important; background:#fff !important;
  box-shadow:0 5px 22px rgba(0,0,0,.28) !important; color:#444 !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
}
#p744nTimeModal::backdrop{background:rgba(0,0,0,.47) !important}
#p744nTimeModal .p744n-time-shell{width:100% !important;height:100% !important;background:#fff !important}
#p744nTimeModal .p744n-time-head{
  box-sizing:border-box !important;height:48px !important;min-height:48px !important;padding:0 14px 0 24px !important;
  display:flex !important;align-items:center !important;justify-content:space-between !important;
  border-bottom:1px solid #eee !important;box-shadow:0 3px 10px rgba(0,0,0,.10) !important;background:#fff !important;
}
#p744nTimeModal .p744n-time-head h3{margin:0 !important;color:#c5023c !important;font-size:17px !important;font-weight:400 !important}
#p744nTimeModal .p744n-time-actions{display:flex !important;align-items:center !important;gap:18px !important}
#p744nTimeModal .p744n-time-actions button{width:28px !important;height:28px !important;border:0 !important;background:transparent !important;padding:0 !important;color:#c5023c !important;font-size:25px !important;display:grid !important;place-items:center !important;cursor:pointer !important}
#p744nTimeModal .p744n-time-actions img{width:22px !important;height:22px !important;object-fit:contain !important}
#p744nTimeModal .p744n-time-content{height:calc(100% - 48px) !important;display:grid !important;grid-template-columns:1fr 1fr !important;background:#fff !important}
#p744nTimeModal .p744n-time-left{position:relative !important;box-sizing:border-box !important;padding:20px 15px 16px !important;border-right:1px solid #eee !important;overflow:visible !important}
#p744nTimeModal .p744n-free-right{box-sizing:border-box !important;padding:24px 15px 16px !important;overflow:auto !important}
#p744nTimeModal .p744n-date-display,
#p744nTimeModal .p744n-clock-display{
  box-sizing:border-box !important;width:100% !important;height:50px !important;border:0 !important;background:#fff !important;
  box-shadow:0 3px 10px rgba(0,0,0,.14) !important;border-radius:2px !important;padding:0 18px !important;
  display:flex !important;align-items:center !important;gap:16px !important;color:#444 !important;
  font-family:inherit !important;font-size:15px !important;text-align:left !important;cursor:pointer !important;
}
#p744nTimeModal .p744n-date-display img{width:27px !important;height:27px !important;object-fit:contain !important}
#p744nTimeModal .p744n-calendar{box-sizing:border-box !important;height:310px !important;padding:17px 16px 8px !important}
#p744nTimeModal .p744n-calendar-nav{height:35px !important;display:flex !important;align-items:center !important}
#p744nTimeModal .p744n-month-label{border:0 !important;background:transparent !important;padding:0 !important;color:#777 !important;font-family:inherit !important;font-size:14px !important;cursor:default !important}
#p744nTimeModal .p744n-month-label::after{content:"" !important;display:inline-block !important;width:6px !important;height:6px !important;margin:0 0 3px 8px !important;border-right:1px solid #777 !important;border-bottom:1px solid #777 !important;transform:rotate(45deg) !important}
#p744nTimeModal .p744n-month-spacer{flex:1 !important}
#p744nTimeModal .p744n-month-arrow{width:36px !important;height:36px !important;border:0 !important;background:transparent !important;color:#999 !important;font-size:28px !important;line-height:30px !important;cursor:pointer !important}
#p744nTimeModal .p744n-weekdays,#p744nTimeModal .p744n-calendar-days{display:grid !important;grid-template-columns:repeat(7,1fr) !important;text-align:center !important}
#p744nTimeModal .p744n-weekdays{height:34px !important;align-items:center !important;color:#888 !important;font-size:13px !important}
#p744nTimeModal .p744n-calendar-days{grid-auto-rows:38px !important;align-items:center !important}
#p744nTimeModal .p744n-day{width:34px !important;height:34px !important;margin:auto !important;border:0 !important;border-radius:50% !important;background:transparent !important;color:#555 !important;font-family:inherit !important;font-size:13px !important;cursor:pointer !important;display:grid !important;place-items:center !important}
#p744nTimeModal .p744n-day.muted{color:#ccc !important}
#p744nTimeModal .p744n-day.today:not(.selected){outline:1px solid #d7a8b8 !important;outline-offset:-4px !important}
#p744nTimeModal .p744n-day.selected{background:#c5023c !important;color:#fff !important}
#p744nTimeModal .p744n-clock-display{width:100% !important;height:50px !important;margin-top:0 !important}
#p744nTimeModal .p744n-clock-outline{position:relative !important;width:23px !important;height:23px !important;border:2px solid #c5023c !important;border-radius:50% !important;box-sizing:border-box !important;flex:0 0 auto !important}
#p744nTimeModal .p744n-clock-outline::before{content:"" !important;position:absolute !important;width:1.5px !important;height:7px !important;left:9px !important;top:3px !important;background:#c5023c !important;transform-origin:bottom !important}
#p744nTimeModal .p744n-clock-outline::after{content:"" !important;position:absolute !important;width:6px !important;height:1.5px !important;left:9px !important;top:10px !important;background:#c5023c !important;transform:rotate(25deg) !important;transform-origin:left !important}
#p744nTimeModal .p744n-free-right h4{margin:0 0 12px !important;color:#c5023c !important;font-size:17px !important;font-weight:400 !important}
#p744nTimeModal .p744n-free-times{min-height:50px !important;border-bottom:1px solid #ddd !important;box-shadow:0 3px 8px rgba(0,0,0,.08) !important;padding:15px 14px !important;color:#8c8c8c !important;font-size:13px !important;display:flex !important;gap:7px !important;flex-wrap:wrap !important;align-content:flex-start !important;background:#fff !important}
#p744nTimeModal .p744n-free-slot{height:30px !important;padding:0 11px !important;border:1px solid #d8d8d8 !important;border-radius:3px !important;background:#fff !important;color:#555 !important;font-family:inherit !important;cursor:pointer !important}
#p744nTimeModal .p744n-free-slot.selected{border-color:#c5023c !important;background:#c5023c !important;color:#fff !important}

/* Material-like clock shown over the calendar, as in the original video. */
#p744nTimeModal .p744n-clock-popup{position:absolute !important;left:92px !important;top:180px !important;width:220px !important;height:286px !important;background:#fff !important;box-shadow:0 5px 17px rgba(0,0,0,.30) !important;z-index:15 !important}
#p744nTimeModal .p744n-clock-popup.hidden{display:none !important}
#p744nTimeModal .p744n-clock-header{height:42px !important;background:#d60042 !important;color:#fff !important;display:flex !important;align-items:center !important;padding:0 13px !important;font-size:17px !important;font-weight:500 !important}
#p744nTimeModal .p744n-clock-face{position:relative !important;width:190px !important;height:190px !important;margin:6px auto 0 !important;border-radius:50% !important;background:#efefef !important}
#p744nTimeModal .p744n-clock-number{position:absolute !important;width:28px !important;height:28px !important;margin:-14px 0 0 -14px !important;border:0 !important;border-radius:50% !important;background:transparent !important;color:#555 !important;font-size:10px !important;display:grid !important;place-items:center !important;z-index:3 !important;cursor:pointer !important}
#p744nTimeModal .p744n-clock-number.selected{background:#d60042 !important;color:#fff !important}
#p744nTimeModal .p744n-clock-hand{position:absolute !important;left:94px !important;bottom:95px !important;width:2px !important;background:#d60042 !important;transform-origin:bottom center !important;z-index:1 !important}
#p744nTimeModal .p744n-clock-center{position:absolute !important;left:91px !important;top:91px !important;width:8px !important;height:8px !important;border-radius:50% !important;background:#d60042 !important;z-index:2 !important}
#p744nTimeModal .p744n-clock-actions{height:40px !important;display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:12px !important;padding:0 10px !important}
#p744nTimeModal .p744n-clock-actions button{border:0 !important;background:transparent !important;color:#555 !important;font-size:10px !important;text-transform:none !important;cursor:pointer !important}

@media(max-width:900px){
  #p744nTimeModal{width:96vw !important;height:86vh !important;max-height:86vh !important}
  #p744nTimeModal .p744n-time-content{grid-template-columns:1fr !important;overflow:auto !important}
  #p744nTimeModal .p744n-free-right{border-top:1px solid #eee !important}
}
/* END P744N DATE/TIME + ADVANCED FLOW */

/* ==============================================================
   P744P — CLIENT ADVANCED / REPORTS / FICHE PARITY
   ============================================================== */

/* Client history NOTE: original SalonApp uses Comfortaa at readable 16px,
   not the compressed Roboto 13px legacy rendering. */
#appointmentModal .k-client-history-box{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;font-weight:400 !important;line-height:1.32 !important;
  padding:7px 10px !important;white-space:pre-wrap !important;
}
#appointmentModal .k-history-entry{font:inherit !important;color:#111 !important}
#appointmentModal .k-history-entry b{font:inherit !important;font-weight:500 !important;color:#111 !important}
#appointmentModal #aNotes{
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;
  font-size:16px !important;font-weight:400 !important;line-height:1.32 !important;
}

/* Right editor must own one smooth scroll area. */
#appointmentModal .k-event-body{
  overflow-y:auto !important;overflow-x:hidden !important;overscroll-behavior:contain !important;
  touch-action:pan-y !important;scrollbar-gutter:stable !important;padding-bottom:64px !important;
  scroll-behavior:auto !important;
}

/* Fixed color palette control: painter icon + swatch as in the source editor. */
#appointmentModal .p744o-color-wrap{
  position:relative !important;width:106px !important;height:40px !important;margin-left:-66px !important;
  display:grid !important;grid-template-columns:30px 76px !important;align-items:center !important;overflow:visible !important;z-index:22 !important;
}
#appointmentModal .p744o-palette-button,#appointmentModal .p744o-color-swatch{
  border:0 !important;background:transparent !important;box-shadow:none !important;padding:0 !important;cursor:pointer !important;
}
#appointmentModal .p744o-palette-button{width:30px !important;height:36px !important;color:#d60042 !important;display:grid !important;place-items:center !important}
#appointmentModal .p744o-palette-button svg{width:23px !important;height:23px !important;fill:#d60042 !important}
#appointmentModal .p744o-color-swatch{
  width:72px !important;height:32px !important;border:3px solid #fff !important;border-radius:2px !important;
  background:var(--p744o-color) !important;box-shadow:0 1px 4px rgba(0,0,0,.34) !important;
}
#appointmentModal .p744o-color-popover{
  position:absolute !important;right:0 !important;top:41px !important;width:176px !important;padding:8px !important;
  display:grid !important;grid-template-columns:repeat(5,28px) !important;gap:6px !important;background:#fff !important;
  border:1px solid #d7d7d7 !important;border-radius:2px !important;box-shadow:0 6px 16px rgba(0,0,0,.22) !important;z-index:900 !important;
}
#appointmentModal .p744o-color-popover.hidden{display:none !important}
#appointmentModal .p744o-color-square{
  width:28px !important;height:28px !important;padding:0 !important;border:1px solid rgba(0,0,0,.16) !important;
  border-radius:2px !important;background:var(--p744o-color) !important;cursor:pointer !important;box-shadow:none !important;
}
#appointmentModal .p744o-color-square.selected{outline:2px solid #333 !important;outline-offset:1px !important}

/* Advanced section parity: everything stays in normal document flow. */
#appointmentModal .k-advanced{
  position:relative !important;inset:auto !important;float:none !important;clear:both !important;
  box-sizing:border-box !important;width:499.8px !important;min-height:32px !important;height:auto !important;
  margin:6px 0 0 !important;padding:0 !important;border:0 !important;background:transparent !important;overflow:visible !important;
}
#appointmentModal .k-advanced summary{
  box-sizing:border-box !important;width:499.8px !important;height:32px !important;min-height:32px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;gap:7px !important;
  list-style:none !important;cursor:pointer !important;color:#c5023c !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important;font-weight:500 !important;line-height:32px !important;
}
#appointmentModal .k-advanced summary::-webkit-details-marker{display:none !important}
#appointmentModal .k-advanced summary::before{
  content:"" !important;width:7px !important;height:7px !important;border-right:1.4px solid #c5023c !important;border-bottom:1.4px solid #c5023c !important;
  transform:rotate(45deg) translateY(-2px) !important;transition:transform .12s ease !important;
}
#appointmentModal .k-advanced[open] summary::before{transform:rotate(225deg) translate(-1px,-1px) !important}
#appointmentModal .p744o-summary-less{display:none !important}
#appointmentModal .k-advanced[open] .p744o-summary-more{display:none !important}
#appointmentModal .k-advanced[open] .p744o-summary-less{display:inline !important}
#appointmentModal .p744o-advanced-content{
  box-sizing:border-box !important;width:499.8px !important;padding:2px 15px 10px 16px !important;display:block !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;color:#c5023c !important;
}
#appointmentModal .p744o-advanced-content label{display:block !important;padding:0 !important;margin:0 !important;font-family:inherit !important;color:#c5023c !important;font-size:11px !important;font-weight:400 !important}
#appointmentModal .p744o-promo-field>span,#appointmentModal .p744o-copy-grid label>span{display:block !important;margin:0 0 5px !important;color:#c5023c !important;font:inherit !important}
#appointmentModal #aPromo,
#appointmentModal #aCopyUntil{
  box-sizing:border-box !important;width:100% !important;height:34px !important;min-height:34px !important;margin:0 !important;padding:0 9px !important;
  border:.8px solid #dedede !important;border-radius:4px !important;background:#fff !important;box-shadow:0 3px 9px rgba(0,0,0,.14) !important;outline:none !important;
  color:#555 !important;font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important;font-weight:400 !important;
}
#appointmentModal .p744o-copy-grid{box-sizing:border-box !important;margin-top:17px !important;display:grid !important;grid-template-columns:1.12fr .88fr !important;gap:14px !important;align-items:end !important}
#appointmentModal .p744o-week-stepper{
  box-sizing:border-box !important;height:34px !important;display:grid !important;grid-template-columns:1fr 32px 32px !important;align-items:center !important;
  background:#fff !important;border-radius:4px !important;box-shadow:0 3px 9px rgba(0,0,0,.14) !important;color:#333 !important;
}
#appointmentModal .p744o-week-stepper>span{padding-left:9px !important;color:#333 !important;font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important}
#appointmentModal .p744o-week-stepper button{height:34px !important;border:0 !important;background:transparent !important;color:#777 !important;font:300 21px Arial,sans-serif !important;cursor:pointer !important;padding:0 !important}
#appointmentModal .p744o-status-hidden{display:none !important}

/* Confirmation / NO SHOW remain below advanced content; no overlap. */
#appointmentModal .k-send-confirmation,#appointmentModal .p744o-no-show{
  position:relative !important;inset:auto !important;float:none !important;clear:both !important;z-index:1 !important;
  box-sizing:border-box !important;width:449.8px !important;height:32px !important;min-height:32px !important;
  margin:5px 25px !important;padding:0 12px !important;border:0 !important;border-radius:3px !important;
  background:#d60042 !important;color:#fff !important;box-shadow:0 2px 4px rgba(0,0,0,.14) !important;
  display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;
  font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:14px !important;font-weight:500 !important;line-height:32px !important;cursor:pointer !important;
}
#appointmentModal .p744o-no-show{margin-top:7px !important;margin-bottom:18px !important}
#appointmentModal .k-advanced:not([open]) ~ #kNoShow{display:none !important}
#appointmentModal .p744o-noshow-glyph{position:relative !important;width:17px !important;height:17px !important;border:1.6px solid #fff !important;border-radius:50% !important;display:inline-block !important}
#appointmentModal .p744o-noshow-glyph::after{content:"" !important;position:absolute !important;left:1px !important;right:1px !important;top:7px !important;height:1.5px !important;background:#fff !important;transform:rotate(45deg) !important;transform-origin:center !important}

/* Search result parity: same readable font and yellow match illumination in
   Agenda picker and in the main CLIENTI list. */
#appointmentModal .remote-client-suggestions button,
#view-clients .client-main{font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important}
#appointmentModal .remote-client-suggestions b{font-size:14px !important;font-weight:500 !important;color:#222 !important}
#appointmentModal .remote-client-suggestions small{font-size:11px !important;color:#777 !important}
#appointmentModal .remote-client-suggestions mark,
#view-clients .client-main mark,
#view-clients .phone-line mark{
  background:#fff59d !important;color:inherit !important;border-radius:1px !important;padding:0 1px !important;box-shadow:none !important;
}
#view-clients .client-main b{font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:16px !important;font-weight:400 !important;line-height:1.25 !important}
#view-clients .phone-line{font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif !important;font-size:12px !important;line-height:1.25 !important}

@media(max-width:1050px){
  #appointmentModal .p744o-color-wrap{margin-left:-52px !important;width:92px !important;grid-template-columns:28px 64px !important}
  #appointmentModal .p744o-color-swatch{width:60px !important}
}


/* P744P — final flow correction for the Agenda right column. */
#appointmentModal .k-event-body{padding-bottom:96px!important;overflow-y:auto!important;overflow-x:hidden!important}
#appointmentModal .k-advanced{width:100%!important;max-width:100%!important;min-height:32px!important;margin:10px 0 0!important;overflow:visible!important}
#appointmentModal .k-advanced[open]{min-height:164px!important;height:auto!important;padding-bottom:8px!important}
#appointmentModal .k-advanced summary{width:100%!important;max-width:100%!important;position:static!important}
#appointmentModal .p744o-advanced-content{width:100%!important;max-width:100%!important;min-height:122px!important;height:auto!important;position:relative!important;display:flex!important;flex-direction:column!important;gap:0!important;padding:4px 15px 12px!important;overflow:visible!important}
#appointmentModal .p744o-promo-field{position:static!important;display:block!important;min-height:53px!important}
#appointmentModal .p744o-copy-grid{position:static!important;display:grid!important;width:100%!important;min-height:57px!important;margin:14px 0 0!important;grid-template-columns:minmax(0,1.12fr) minmax(120px,.88fr)!important;gap:14px!important;overflow:visible!important}
#appointmentModal #kSendConfirmation,#appointmentModal .k-send-confirmation,#appointmentModal #kNoShow,#appointmentModal .p744o-no-show{position:relative!important;inset:auto!important;transform:none!important;float:none!important;clear:both!important;width:calc(100% - 30px)!important;max-width:none!important;margin:8px 15px 0!important;z-index:1!important}
#appointmentModal #kNoShow{margin-bottom:24px!important}

/* Fiche client search: same yellow illumination / neutral text used by Agenda + Clienti. */
#ficheModal .fiche-client-suggestions button,#ficheModal .fiche-client-suggestion{font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif!important}
#ficheModal .fiche-client-suggestions b,#ficheModal .fiche-client-suggestion b{color:#222!important;font-size:15px!important;font-weight:500!important}
#ficheModal .fiche-client-suggestions small,#ficheModal .fiche-client-suggestion small{color:#777!important;font-size:11px!important}
#ficheModal .fiche-client-suggestions mark,#ficheModal .fiche-client-suggestion mark{background:#fff59d!important;color:inherit!important;border-radius:1px!important;padding:0 1px!important;box-shadow:none!important}

/* Timer only belongs to a Fiche that is actually opened/running. */
#p744pFicheHeaderTimer{border:0!important;background:transparent!important;height:38px!important;min-width:76px!important;padding:0 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;color:#777!important;font:500 12px "Comfortaa",sans-serif!important;cursor:pointer!important}
#p744pFicheHeaderTimer img{width:22px!important;height:22px!important;object-fit:contain!important;opacity:.85!important}
#p744pFicheHeaderTimer.running{color:#d60042!important}
#p744pFicheHeaderTimer.running img{opacity:1!important}

/* Original-like Clienti advanced mode. */
#view-clients .p744p-advanced-host{display:block!important;padding:0!important;border:0!important;background:#fff!important;height:auto!important;overflow:visible!important}
#view-clients .p744p-advanced-shell{width:100%!important;font-family:"Comfortaa","Century Gothic","Trebuchet MS",Arial,sans-serif!important;background:#fff!important;box-shadow:0 3px 8px rgba(0,0,0,.12)!important}
#view-clients .p744p-group-row,#view-clients .p744p-period-row{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;background:#efefef!important;border-radius:9px!important;margin:0 16px!important;overflow:hidden!important}
#view-clients .p744p-group-row button,#view-clients .p744p-period-row button{height:28px!important;border:0!important;border-right:1px solid #d9d9d9!important;background:transparent!important;color:#666!important;font:400 13px "Comfortaa",sans-serif!important;cursor:pointer!important}
#view-clients .p744p-group-row button.active,#view-clients .p744p-period-row button.active{background:#fff!important;color:#d60042!important;box-shadow:0 1px 4px rgba(0,0,0,.12)!important;border-radius:6px!important}
#view-clients .p744p-period-row{grid-template-columns:repeat(6,minmax(0,1fr))!important;margin-top:0!important;border-radius:0 0 9px 9px!important}
#view-clients .p744p-select-row{display:grid!important;grid-template-columns:1fr 1.15fr 1fr 1.15fr 1fr!important;align-items:end!important;gap:38px!important;padding:18px 132px 18px!important;min-height:72px!important;background:#fff!important}
#view-clients .p744p-select-row label,#view-clients .p744p-service-filter{border:0!important;background:transparent!important;color:#111!important;font:400 14px "Comfortaa",sans-serif!important;text-align:left!important;cursor:pointer!important;padding:0!important}
#view-clients .p744p-select-row label{display:flex!important;flex-direction:column!important;gap:4px!important}
#view-clients .p744p-select-row select{appearance:none!important;border:0!important;border-bottom:1px solid transparent!important;background:transparent!important;height:24px!important;padding:0 18px 0 0!important;color:#222!important;font:400 13px "Comfortaa",sans-serif!important;cursor:pointer!important}
#view-clients .p744p-service-filter{height:28px!important;align-self:end!important}
#view-clients .p744p-date-inline{display:flex!important;gap:16px!important;justify-content:center!important;padding:7px 16px!important;background:#f5f5f5!important}
#view-clients .p744p-date-inline label{font:400 12px "Comfortaa",sans-serif!important;color:#d60042!important}
#view-clients .p744p-date-inline input{margin-left:8px!important;border:0!important;border-bottom:1px solid #ccc!important;background:transparent!important;font:400 12px "Comfortaa",sans-serif!important}
.p744p-client-top-icons{display:flex!important;align-items:center!important;gap:4px!important}
.p744p-palette-mini{font-size:22px!important;color:#777!important;line-height:1!important}.p744p-sliders{width:23px!important;height:23px!important;display:grid!important;align-content:center!important;gap:4px!important}.p744p-sliders i{display:block!important;height:2px!important;background:#d60042!important;position:relative!important}.p744p-sliders i:nth-child(1){width:18px!important;margin-left:4px!important}.p744p-sliders i:nth-child(2){width:22px!important}.p744p-sliders i:nth-child(3){width:16px!important;margin-left:6px!important}
.p744p-client-color-pop{position:fixed!important;z-index:12000!important;width:196px!important;padding:8px!important;background:#fff!important;border:1px solid #ddd!important;box-shadow:0 5px 18px rgba(0,0,0,.2)!important;display:grid!important;grid-template-columns:repeat(4,38px)!important;gap:8px!important}.p744p-client-color-pop.hidden{display:none!important}.p744p-client-color-pop button{width:38px!important;height:30px!important;border:2px solid #fff!important;box-shadow:0 0 0 1px #ccc!important;background:var(--pc)!important;font:10px Arial!important;color:#555!important}.p744p-client-color-pop button.active{outline:2px solid #d60042!important}

/* Multi-service filter modal, based on the original SalonApp client filter dialog. */
.p744p-service-dialog{border:0!important;padding:0!important;width:min(1400px,90vw)!important;height:min(660px,78vh)!important;max-width:none!important;background:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,.3)!important}.p744p-service-dialog::backdrop{background:rgba(0,0,0,.46)!important}.p744p-service-card{height:100%!important;display:flex!important;flex-direction:column!important;font-family:"Comfortaa",sans-serif!important}.p744p-service-head{height:58px!important;display:flex!important;align-items:center!important;gap:12px!important;padding:8px!important}.p744p-service-head input{flex:1!important;height:34px!important;border:1px solid #bbb!important;border-radius:8px!important;padding:0 12px!important;font:400 14px "Comfortaa",sans-serif!important}.p744p-service-head>div{display:flex!important;gap:12px!important}.p744p-service-head button{width:34px!important;height:34px!important;border:0!important;background:transparent!important;color:#d60042!important;font-size:24px!important;cursor:pointer!important}.p744p-service-head .p744p-save-filter{font-size:20px!important}.p744p-service-tabs{height:38px!important;margin:0 8px!important;display:grid!important;grid-template-columns:1fr 1fr 1fr 240px!important;background:#fdecef!important;border-radius:8px!important;align-items:center!important}.p744p-service-tabs button{height:30px!important;border:0!important;background:transparent!important;font:400 13px "Comfortaa",sans-serif!important;color:#777!important}.p744p-service-tabs button.active{background:#fff!important;border:1px solid #f5cbd5!important;border-radius:7px!important;color:#333!important}.p744p-service-tabs label{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;padding-right:12px!important;color:#d60042!important;font-size:11px!important}.p744p-service-rows{flex:1!important;overflow:auto!important;padding:4px 8px 12px!important}.p744p-service-cat h4{margin:10px 6px!important;color:#d60042!important;font:400 14px "Comfortaa",sans-serif!important}.p744p-service-cat label{height:42px!important;border-top:1px solid #ddd!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 12px!important;font:400 15px "Comfortaa",sans-serif!important}.p744p-service-cat input[type=checkbox]{width:32px!important;height:18px!important;accent-color:#d60042!important}.p744p-service-empty{padding:30px!important;text-align:center!important;color:#777!important}
.p744p-report-error p{white-space:pre-wrap!important}

@media(max-width:1200px){#view-clients .p744p-select-row{padding:16px 30px!important;gap:18px!important}}
@media(max-width:760px){#view-clients .p744p-select-row{grid-template-columns:1fr 1fr!important;padding:12px!important}.p744p-service-dialog{width:96vw!important;height:86vh!important}.p744p-service-tabs{grid-template-columns:1fr 1fr 1fr!important;height:auto!important}.p744p-service-tabs label{grid-column:1/-1;padding:6px 12px!important}}

/* Advanced-result rows also expose Passaggi + Incasso, as in SalonApp advanced Clienti. */
#view-clients .p744p-client-metrics{margin-left:64px!important;min-width:150px!important;display:flex!important;flex-direction:column!important;gap:2px!important;color:#111!important;font:400 12px "Comfortaa",sans-serif!important;line-height:1.25!important}
#view-clients .p744p-client-metrics span{white-space:nowrap!important}
#view-clients .p744p-client-metrics i{font-style:normal!important;color:#d60042!important;margin-right:3px!important}
#view-clients .p744p-client-metrics b{font-weight:500!important;color:#111!important;font-size:12px!important}
@media(max-width:760px){#view-clients .p744p-client-metrics{margin-left:8px!important;min-width:105px!important;font-size:10px!important}#view-clients .p744p-client-metrics b{font-size:10px!important}}


/* Service filter switches: fixed click choices, same on/off behavior as original. */
.p744p-service-cat input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;position:relative!important;width:34px!important;height:19px!important;border:0!important;border-radius:12px!important;background:#a9aaad!important;box-shadow:none!important;cursor:pointer!important;transition:background .12s!important}
.p744p-service-cat input[type=checkbox]::before{content:""!important;position:absolute!important;left:1px!important;top:1px!important;width:17px!important;height:17px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.28)!important;transition:transform .12s!important}
.p744p-service-cat input[type=checkbox]:checked{background:#d60042!important}
.p744p-service-cat input[type=checkbox]:checked::before{transform:translateX(15px)!important}
/* END P744P CLIENT ADVANCED / REPORTS / FICHE PARITY */

/* ======================================================================
   P744Q — EDITOR SAFETY / CLIENT MODAL / REPORT ACCESS / GRID PARITY
   STAGING ONLY
   ====================================================================== */

/* ---------- AGENDA: event card must stay inside exactly one collaborator column ---------- */
#agendaGrid .agenda-grid{isolation:isolate!important}
#agendaGrid .appointment-block{
  position:relative!important;
  inset:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  margin:1px 1px 0!important;
  padding:2px 5px 2px 6px!important;
  overflow:hidden!important;
  contain:paint!important;
  border-left-width:4px!important;
  font-family:"Comfortaa",sans-serif!important;
  font-size:10px!important;
  line-height:1.22!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
#agendaGrid .appointment-block b,
#agendaGrid .appointment-block span{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  line-height:1.22!important;
}
#agendaGrid .appointment-block b{font-size:10px!important;font-weight:500!important}
#agendaGrid .appointment-block span{font-size:9px!important;font-weight:400!important}

/* ---------- Appointment header: left=back, right=delete/save ---------- */
#appointmentModal .k-main-head{position:relative!important;padding-left:52px!important;padding-right:94px!important}
#appointmentModal .k-main-head h3{width:100%!important;text-align:left!important;margin:0!important}
#appointmentModal .k-back{left:10px!important;right:auto!important}
#appointmentModal .k-delete-event,
#appointmentModal .k-save-event{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:40px!important;
  height:40px!important;
  border:0!important;
  background:transparent!important;
  display:grid!important;
  place-items:center!important;
  padding:7px!important;
}
#appointmentModal .k-delete-event{right:52px!important}
#appointmentModal .k-save-event{right:10px!important;left:auto!important}
#appointmentModal .k-delete-event.hidden{display:none!important}
#appointmentModal .k-delete-event img,#appointmentModal .k-save-event img{width:25px!important;height:25px!important;object-fit:contain!important}

/* Advanced editor stays in normal flow; nothing may cover following controls. */
#appointmentModal .k-event-body{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;padding-bottom:28px!important}
#appointmentModal #p744oAdvanced,
#appointmentModal #kSendConfirmation,
#appointmentModal #kNoShow{position:relative!important;inset:auto!important;transform:none!important;z-index:auto!important;flex:none!important}
#appointmentModal #p744oAdvanced[open]{overflow:visible!important}
#appointmentModal .p744o-advanced-content{overflow:visible!important}

/* ---------- CLIENTI advanced list: deterministic SalonApp-like columns ---------- */
#view-clients .client-row:has(.p744p-client-metrics){
  display:grid!important;
  grid-template-columns:38px minmax(180px,260px) minmax(150px,190px) 1fr auto!important;
  align-items:center!important;
  column-gap:14px!important;
  min-height:60px!important;
  padding:7px 18px!important;
}
#view-clients .client-row:has(.p744p-client-metrics)>.round-client-icon{grid-column:1!important}
#view-clients .client-row:has(.p744p-client-metrics)>.client-main{grid-column:2!important;min-width:0!important;max-width:260px!important}
#view-clients .client-row:has(.p744p-client-metrics)>.client-main b,
#view-clients .client-row:has(.p744p-client-metrics)>.client-main span{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#view-clients .client-row:has(.p744p-client-metrics)>.p744p-client-metrics{
  grid-column:3!important;
  margin:0!important;
  min-width:0!important;
  width:100%!important;
  justify-self:start!important;
}
#view-clients .client-row:has(.p744p-client-metrics)>.client-row-actions{grid-column:5!important;margin-left:0!important;justify-self:end!important}
#view-clients .client-row:has(.p744p-client-metrics)>.client-edit-actions{grid-column:5!important}
@media(max-width:900px){
  #view-clients .client-row:has(.p744p-client-metrics){grid-template-columns:38px minmax(120px,1fr) 120px auto!important;column-gap:8px!important}
  #view-clients .client-row:has(.p744p-client-metrics)>.p744p-client-metrics{grid-column:3!important}
  #view-clients .client-row:has(.p744p-client-metrics)>.client-row-actions{grid-column:4!important}
}

/* ---------- CLIENT EDITOR: one wide modal + exactly one vertical scroller ---------- */
#clientModal.client-dialog[open]{
  width:min(1480px,92vw)!important;
  max-width:min(1480px,92vw)!important;
  height:min(760px,88vh)!important;
  max-height:min(760px,88vh)!important;
  margin:auto!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#clientModal #clientForm.salon-modal-form{
  width:100%!important;height:100%!important;max-height:none!important;
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;min-height:0!important;
}
#clientModal .salon-modal-head{flex:0 0 56px!important;min-height:56px!important;overflow:hidden!important}
#clientModal #clientModalTabs.modal-top-tabs{flex:0 0 50px!important;min-height:50px!important;overflow:hidden!important}
#clientModal .client-pane{
  flex:1 1 auto!important;
  width:100%!important;max-width:none!important;
  min-height:0!important;max-height:none!important;
  margin:0!important;
  padding:18px 0 34px!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
#clientModal .client-pane.hidden{display:none!important}
#clientModal #clientGeneralPane>*{
  width:min(960px,calc(100% - 44px))!important;
  max-width:960px!important;
  margin-left:auto!important;margin-right:auto!important;
  box-sizing:border-box!important;
}
#clientModal #clientGeneralPane>label,
#clientModal #clientGeneralPane>.two-cols,
#clientModal #clientGeneralPane>.client-color-field,
#clientModal #clientGeneralPane>.policy-row,
#clientModal #clientGeneralPane>#clientStats,
#clientModal #clientGeneralPane>#archiveClientBtn{margin-top:0!important;margin-bottom:12px!important}
#clientModal #clientGeneralPane label{font-size:13px!important;line-height:1.25!important;color:#d60042!important}
#clientModal #clientGeneralPane input:not([type="hidden"]),
#clientModal #clientGeneralPane select,
#clientModal #clientGeneralPane textarea{font-family:"Comfortaa",sans-serif!important;font-size:15px!important;line-height:1.35!important}
#clientModal #cNotes{min-height:70px!important;max-height:112px!important}
#clientModal .p744q-lottery-field{display:flex!important;flex-direction:column!important;gap:5px!important}
#clientModal .p744q-lottery-field input{width:100%!important}
#clientModal #clientStats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
#clientModal #clientStats>div{min-width:0!important;overflow:hidden!important}
#clientModal #clientStats b{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#clientModal #clientCardsPane>*{width:min(960px,calc(100% - 44px))!important;max-width:960px!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:760px){
 #clientModal.client-dialog[open]{width:98vw!important;max-width:98vw!important;height:92dvh!important;max-height:92dvh!important}
 #clientModal #clientGeneralPane>*{width:calc(100% - 24px)!important}
 #clientModal #clientStats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* confirm dialog must stay clickable above every editor sub-dialog */
#confirmModal{z-index:2147483000!important}
#confirmModal::backdrop{z-index:2147482999!important}

/* Report gate: explicit staging hint, without exposing production credentials. */
#view-reports .p744q-stage-credential-hint{margin:8px 0 0!important;font-size:11px!important;color:#888!important;text-align:center!important}

/* END P744Q EDITOR SAFETY / CLIENT MODAL / REPORT ACCESS / GRID PARITY */

/* ==============================================================
   P744R — ESC / 7GG / CLIENT COLORS / FICHE TIMER / REPORT PARITY
   ============================================================== */

/* AGENDA 7GG: same readable density as SalonApp original. */
#view-agenda .agenda-grid-wrap{overflow:auto!important;overscroll-behavior:contain!important}
#view-agenda .agenda-grid.p744g-week-grid{
  width:max-content!important;
  min-width:max-content!important;
  align-content:start!important;
  background:#fff!important;
}
#view-agenda .agenda-grid.p744g-week-grid .p744g-day-header{
  height:34px!important;min-height:34px!important;
  padding:0 7px!important;font-size:14px!important;font-weight:400!important;
  justify-content:flex-start!important;white-space:nowrap!important;
}
#view-agenda .agenda-grid.p744g-week-grid .agenda-header{
  height:34px!important;min-height:34px!important;
  padding:0 4px!important;font-size:11px!important;font-weight:400!important;
  line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  top:34px!important;
}
#view-agenda .agenda-grid.p744g-week-grid .p744g-slot-cell{
  min-height:0!important;height:auto!important;padding:0!important;
  border-right:1px solid #d9d9d9!important;border-bottom:1px solid #e1e1e1!important;
}
#view-agenda .agenda-grid.p744g-week-grid .p744g-time-label{
  min-height:0!important;height:auto!important;padding:1px 6px 0 0!important;
  font-size:10px!important;font-weight:400!important;background:#fff!important;
}
#view-agenda .agenda-grid.p744g-week-grid .p744g-time-label.hour{font-size:13px!important}
#view-agenda .agenda-grid.p744g-week-grid .agenda-disabled,
#view-agenda .agenda-grid.p744g-week-grid .p744g-slot-cell.agenda-disabled{
  background:#dfe2f3!important;
}
#view-agenda .agenda-grid.p744g-week-grid .appointment-block{
  box-sizing:border-box!important;padding:2px 3px!important;font-size:10px!important;line-height:1.15!important;
  overflow:hidden!important;white-space:normal!important;
}
#view-agenda .agenda-grid.p744g-week-grid .appointment-block b{font-size:10px!important;line-height:1.15!important}

/* CLIENTI advanced toolbar: never clipped between tabs and first client. */
#view-clients #clientFilters.p744p-advanced-host{
  display:block!important;position:relative!important;flex:0 0 auto!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  overflow:visible!important;white-space:normal!important;padding:0!important;margin:0!important;
  border-bottom:1px solid #dedede!important;background:#fff!important;z-index:8!important;
}
#view-clients #clientFilters.p744p-advanced-host .p744p-advanced-shell{
  display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;background:#fff!important;
}
#view-clients #clientFilters.p744p-advanced-host .p744p-group-row,
#view-clients #clientFilters.p744p-advanced-host .p744p-period-row,
#view-clients #clientFilters.p744p-advanced-host .p744p-select-row,
#view-clients #clientFilters.p744p-advanced-host .p744p-date-inline{
  position:relative!important;height:auto!important;min-height:0!important;overflow:visible!important;flex-shrink:0!important;
}
#view-clients #clientsList{min-height:0!important;overflow:auto!important}

/* Exact CLIENT NAME color palette: popup is a real filter, not approximate colors. */
#p744pClientColorPopover.p744p-client-color-pop{
  width:236px!important;grid-template-columns:repeat(4,48px)!important;gap:6px!important;padding:8px!important;
}
#p744pClientColorPopover.p744p-client-color-pop button{
  width:48px!important;height:30px!important;min-width:48px!important;border:1px solid #cfcfcf!important;box-sizing:border-box!important;
}
#p744pClientColorPopover.p744p-client-color-pop button:first-child{grid-column:1/-1!important;width:100%!important;background:#fff!important;color:#444!important}
#p744pClientColorPopover.p744p-client-color-pop button.active{outline:2px solid #d60042!important;outline-offset:1px!important}

/* FICHE: timer exists only in outer list; internal timer is forbidden. */
#ficheModal #p744pFicheHeaderTimer{display:none!important}

/* REPORT: explicit opt-in comparison control. */
.p744r-report-compare-control{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  padding:8px 14px;background:#fff;border-bottom:1px solid #e4e4e4;color:#444;font-size:13px;
}
.p744r-report-compare-control.hidden{display:none!important}
.p744r-report-compare-control label{display:flex!important;align-items:center!important;gap:8px!important;cursor:pointer!important;user-select:none!important}
.p744r-report-compare-control input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.p744r-switch{width:31px;height:17px;border-radius:12px;background:#c8c8c8;position:relative;display:inline-block;transition:.15s}
.p744r-switch:after{content:'';position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;left:2px;top:2px;box-shadow:0 1px 2px #777;transition:.15s}
.p744r-report-compare-control input:checked + .p744r-switch{background:#d00042}
.p744r-report-compare-control input:checked + .p744r-switch:after{left:16px}
#reportClientPeriodInline .p744r-report-compare-control{border:0;padding:5px 0 0;justify-content:flex-start;background:transparent}

/* Report arrows and numeric cells aligned to the original's compact hierarchy. */
#view-reports .report-detail-strip{min-height:54px!important;height:54px!important;align-items:center!important}
#view-reports .report-detail-strip .round-arrow{
  width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;
  padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  line-height:29px!important;font-family:Arial,sans-serif!important;font-size:27px!important;font-weight:300!important;
}
#view-reports .report-table th,#view-reports .report-table td{vertical-align:middle!important}
#view-reports .report-table td:not(:first-child),#view-reports .report-table th:not(:first-child){text-align:center!important;font-variant-numeric:tabular-nums!important}
#view-reports .report-table .compare{display:block!important;font-size:9px!important;line-height:1!important;margin-top:2px!important}

/* END P744R ESC / 7GG / CLIENT COLORS / FICHE TIMER / REPORT PARITY */

/* =====================================================================
   P744S — FICHE / CLIENT COLOR / NOTES / REPORT DEEP PARITY
   ===================================================================== */

/* FICHE archive client picker */
#view-fiches .p744s-fiche-search-wrap{position:relative!important;overflow:visible!important}
#view-fiches #ficheSearch{padding-right:38px!important}
#view-fiches #ficheSearch::-webkit-search-cancel-button{-webkit-appearance:none!important;appearance:none!important;display:none!important}
.p744s-fiche-search-clear{position:absolute!important;right:7px!important;top:50%!important;transform:translateY(-50%)!important;width:29px!important;height:29px!important;min-width:29px!important;border:0!important;background:transparent!important;color:#d60042!important;font:300 28px/28px Arial,sans-serif!important;display:grid!important;place-items:center!important;z-index:8!important;cursor:pointer!important}
.p744s-fiche-search-clear.hidden{display:none!important}
.p744s-fiche-client-suggestions{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 3px)!important;max-height:420px!important;overflow-y:auto!important;background:#fff!important;border:1px solid #d6d6d6!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important;z-index:14500!important;padding:0!important}
.p744s-fiche-client-suggestions.hidden{display:none!important}
.p744s-fiche-client-result{width:100%!important;min-height:54px!important;border:0!important;border-bottom:1px solid #e6e6e6!important;background:#fff!important;display:grid!important;grid-template-columns:36px 1fr!important;align-items:center!important;text-align:left!important;padding:6px 12px!important;cursor:pointer!important;color:#282828!important}
.p744s-fiche-client-result:hover,.p744s-fiche-client-result:focus{background:#fff7fa!important;outline:none!important}
.p744s-fiche-result-avatar{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;color:#d60042!important}.p744s-fiche-result-avatar svg{width:25px!important;height:25px!important}
.p744s-fiche-result-main{display:flex!important;flex-direction:column!important;min-width:0!important;gap:2px!important}.p744s-fiche-result-main b{font-family:Comfortaa,Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.2!important}.p744s-fiche-result-main small{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:12px!important;color:#777!important}
.p744s-fiche-client-suggestions mark{background:#ffef86!important;color:inherit!important;padding:0!important}
.p744s-fiche-hint,.p744s-fiche-noresult,.p744s-fiche-select-prompt{padding:16px!important;text-align:center!important;color:#777!important;font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:14px!important}

/* FICHE selected-client icon: stable vector, not distorted PNG/CSS head */
#ficheModal .fiche-client-person.p744s-client-person-fixed{width:31px!important;height:31px!important;min-width:31px!important;display:grid!important;place-items:center!important;color:#d60042!important;background:transparent!important;border:0!important}
#ficheModal .fiche-client-person.p744s-client-person-fixed::before,#ficheModal .fiche-client-person.p744s-client-person-fixed::after{display:none!important;content:none!important}
#ficheModal .fiche-client-person.p744s-client-person-fixed svg{width:27px!important;height:27px!important;display:block!important;fill:currentColor!important;stroke:currentColor!important}

/* Current payment UI: 3 base methods + Bonifico as the only advanced row. */
#ficheModal .pay-line,#paymentConfirmModal .pay-line{min-width:0!important}
#ficheModal .pay-line input,#paymentConfirmModal .pay-line input{font-variant-numeric:tabular-nums!important}
#ficheModal .advanced-pay,#paymentConfirmModal .advanced-pay{color:#d60042!important;font-family:Comfortaa,Arial,sans-serif!important;font-size:14px!important}

/* Client-name color filter: exact same 16 presets and definitely clickable. */
#p744pClientColorPopover{display:none!important}
#p744sClientColorPopover.p744s-client-color-pop{position:fixed!important;z-index:30000!important;width:244px!important;background:#fff!important;border:1px solid #d3d3d3!important;box-shadow:0 6px 22px rgba(0,0,0,.25)!important;padding:8px!important;box-sizing:border-box!important;pointer-events:auto!important}
#p744sClientColorPopover.hidden{display:none!important}
#p744sClientColorPopover button{pointer-events:auto!important;cursor:pointer!important}
.p744s-color-all{width:100%!important;height:31px!important;border:1px solid #ccc!important;background:#fff!important;color:#444!important;margin:0 0 7px!important;font:12px Roboto,"Helvetica Neue",Arial,sans-serif!important}.p744s-color-all.active{outline:2px solid #d60042!important;outline-offset:-1px!important}
.p744s-color-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important}
.p744s-color-swatch{height:31px!important;min-width:0!important;border:2px solid #fff!important;box-shadow:0 0 0 1px #bbb!important;background:var(--pc)!important;color:#fff!important;display:grid!important;place-items:center!important;font:700 14px Arial!important}.p744s-color-swatch.active{outline:2px solid #d60042!important;outline-offset:1px!important}

/* REPORT – typography / hierarchy measured from SalonApp forensic capture:
   app/root 16px Roboto, material table rows 14px. */
#view-reports,#view-reports button,#view-reports input,#view-reports select{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important}
#view-reports .report-table{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;line-height:1.2!important;border-collapse:collapse!important}
#view-reports .report-table th{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.15!important;padding:8px 9px!important;height:33px!important;box-sizing:border-box!important}
#view-reports .report-table td{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;line-height:1.18!important;padding:5px 9px!important;height:29px!important;box-sizing:border-box!important;color:#222!important}
#view-reports .report-table td:first-child{text-align:left!important;white-space:nowrap!important}
#view-reports .report-table td:not(:first-child){text-align:center!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important;min-width:115px!important}
#view-reports .report-table .compare{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:9px!important;font-weight:500!important;line-height:1!important;margin-top:2px!important}
#view-reports .expand-cell{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
#view-reports .tree-indent1{padding-left:25px!important}#view-reports .tree-indent2{padding-left:49px!important}
.p744s-tree-chevron{width:8px!important;height:8px!important;display:inline-block!important;flex:0 0 8px!important;border-right:1.7px solid #222!important;border-bottom:1.7px solid #222!important;transform:rotate(-45deg)!important;transition:transform .12s!important}.p744s-tree-chevron.open{transform:rotate(45deg)!important;margin-top:-3px!important}.p744s-tree-dot{width:8px!important;height:8px!important;display:inline-block!important;flex:0 0 8px!important}
.p744s-report-client-card{width:23px!important;height:23px!important;min-width:23px!important;padding:0!important;margin:0 7px 0 0!important;border:0!important;background:transparent!important;color:#d60042!important;display:inline-grid!important;place-items:center!important;vertical-align:middle!important;cursor:pointer!important}.p744s-report-client-card.disabled{opacity:.35!important;cursor:default!important}.p744s-report-client-card svg,.p744s-report-client-card img{width:20px!important;height:20px!important;object-fit:contain!important}

/* Report general section and arrows */
#view-reports .report-detail-strip{height:54px!important;min-height:54px!important;font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important}
#view-reports .report-detail-strip strong{font-size:16px!important;font-weight:400!important}
#view-reports .round-arrow{font-size:0!important;position:relative!important;width:31px!important;height:31px!important;min-width:31px!important;min-height:31px!important;border-radius:50%!important}
#view-reports .round-arrow::before{content:''!important;position:absolute!important;left:50%!important;top:50%!important;width:8px!important;height:8px!important;border-top:2px solid #fff!important;border-right:2px solid #fff!important;transform:translate(-62%,-50%) rotate(45deg)!important}
#view-reports .round-arrow.pale::before{transform:translate(-38%,-50%) rotate(-135deg)!important}
#view-reports .general-title,#view-reports .payment-collapsible{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:14px!important;font-weight:500!important}
#view-reports .general-line{font-size:14px!important}.general-line strong{font-size:14px!important;font-weight:500!important;font-variant-numeric:tabular-nums!important}

/* Clickable year control: not an <input>, so password managers never open. */
.topbar.report-salon-header .year-context,.topbar.report-client-header .year-context{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-width:82px!important;height:55px!important;padding:0 6px!important;box-sizing:border-box!important}
.p744s-report-year-button{height:28px!important;min-width:76px!important;border:0!important;background:transparent!important;padding:0 23px 0 0!important;position:relative!important;text-align:left!important;color:#222!important;font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;cursor:pointer!important}
.p744s-report-year-button b{font-size:16px!important;font-weight:400!important;line-height:28px!important}.year-context-label{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:11px!important;line-height:14px!important;color:#d60042!important}
.p744s-year-chevrons{position:absolute!important;right:4px!important;top:4px!important;width:14px!important;height:20px!important}.p744s-year-chevrons i{position:absolute!important;left:3px!important;width:7px!important;height:7px!important;border-right:1.5px solid #666!important;border-bottom:1.5px solid #666!important}.p744s-year-chevrons i:first-child{top:1px!important;transform:rotate(225deg)!important}.p744s-year-chevrons i:last-child{bottom:1px!important;transform:rotate(45deg)!important}
.p744s-report-year-pop{position:fixed!important;z-index:32000!important;width:108px!important;max-height:270px!important;overflow-y:auto!important;background:#fff!important;border:1px solid #ddd!important;box-shadow:0 7px 22px rgba(0,0,0,.23)!important;padding:4px 0!important}.p744s-report-year-pop.hidden{display:none!important}.p744s-report-year-pop button{width:100%!important;height:38px!important;border:0!important;background:#fff!important;color:#222!important;text-align:center!important;font:400 15px Roboto,"Helvetica Neue",Arial,sans-serif!important;cursor:pointer!important}.p744s-report-year-pop button:hover{background:#f6f6f6!important}.p744s-report-year-pop button.active{background:#fff0f5!important;color:#d60042!important;font-weight:500!important}

/* Report settings / period modal: clean Material/SalonApp geometry. */
#reportPeriodModal.report-calendar-dialog{width:520px!important;max-width:94vw!important;height:min(650px,86vh)!important;max-height:86vh!important;border-radius:4px!important;font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important}
#reportPeriodModal .report-calendar-head{height:56px!important;min-height:56px!important;grid-template-columns:52px 1fr 52px!important}
#reportPeriodModal .report-calendar-title h3{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:18px!important;font-weight:400!important}
#reportPeriodModal .report-calendar-selection{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:13px!important;height:39px!important;min-height:39px!important}
#reportPeriodModal .report-cal-month-title,#reportPeriodModal .report-cal-weekdays,#reportPeriodModal .report-cal-day{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important}
#reportPeriodModal .p744r-report-compare-control{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:13px!important;padding:9px 16px!important;border-bottom:1px solid #eee!important}

@media(max-width:760px){#reportPeriodModal.report-calendar-dialog{width:94vw!important;height:84vh!important}.p744s-fiche-client-suggestions{max-height:48vh!important}}
/* END P744S FICHE / CLIENT COLOR / NOTES / REPORT DEEP PARITY */

/* =====================================================================
   P744T — GLOBAL PHONE PREFIX SEARCH / CLIENT GREEN / REPORT DEEP PARITY
   ===================================================================== */

/* Old comparison pin/control must not live inside the date calendar. */
#reportPeriodModal #p744rReportCompareControl{display:none!important}

/* Dedicated comparison control in report header. */
.topbar.report-salon-header .p744t-report-compare-btn,
.topbar.report-client-header .p744t-report-compare-btn{
  width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;
  padding:0!important;border:0!important;background:transparent!important;color:#6a6a6a!important;
  display:grid!important;place-items:center!important;border-radius:50%!important
}
.topbar.report-salon-header .p744t-report-compare-btn.active,
.topbar.report-client-header .p744t-report-compare-btn.active{color:#d60042!important;background:#fff0f5!important}
.p744t-compare-glyph{position:relative!important;width:24px!important;height:18px!important;display:block!important}
.p744t-compare-glyph i{position:absolute!important;left:3px!important;width:17px!important;height:0!important;border-top:1.8px solid currentColor!important}
.p744t-compare-glyph i:first-child{top:5px!important}.p744t-compare-glyph i:last-child{bottom:4px!important}
.p744t-compare-glyph i:first-child::after,.p744t-compare-glyph i:last-child::before{content:""!important;position:absolute!important;width:6px!important;height:6px!important;border-top:1.8px solid currentColor!important;border-right:1.8px solid currentColor!important}
.p744t-compare-glyph i:first-child::after{right:-1px!important;top:-4px!important;transform:rotate(45deg)!important}
.p744t-compare-glyph i:last-child::before{left:-1px!important;top:-4px!important;transform:rotate(225deg)!important}

/* Monthly/single-range reports do not show meaningless side arrows. */
#view-reports .report-detail-strip .round-arrow.p744t-hidden-nav{visibility:hidden!important;pointer-events:none!important}
#view-reports .report-detail-strip.p744t-no-side-nav{grid-template-columns:50px minmax(0,1fr) 50px!important}

/* Report typography: never shrink back to the old tiny look. */
#view-reports .report-table.p744t-report-table{
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:16px!important;font-weight:400!important;line-height:1.24!important;border-collapse:collapse!important
}
#view-reports .report-table.p744t-report-table th{
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:15px!important;font-weight:600!important;
  line-height:1.15!important;padding:8px 10px!important;height:35px!important
}
#view-reports .report-table.p744t-report-table td{
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;
  line-height:1.22!important;padding:7px 10px!important;height:34px!important;color:#171717!important
}
#view-reports .report-table.p744t-report-table td:first-child{font-size:16.5px!important}
#view-reports .report-table.p744t-report-table td:not(:first-child){font-variant-numeric:tabular-nums!important;min-width:132px!important}
#view-reports .report-table.p744t-report-table .compare{
  display:block!important;margin-top:2px!important;font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:12px!important;font-weight:700!important;font-style:italic!important;line-height:1.08!important;white-space:nowrap!important
}
#view-reports .report-table.p744t-report-table .compare em{font-style:italic!important;font-weight:700!important}
#view-reports .report-table.p744t-report-table .compare.up{color:#008a39!important}
#view-reports .report-table.p744t-report-table .compare.down{color:#cf003f!important}
#view-reports .report-table.p744t-report-table .compare.same{color:#555!important}

/* General report cards: larger, readable and with euro before money. */
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-title{font-size:16.5px!important}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-general-label{font-size:15.5px!important}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong{
  min-height:35px!important;height:auto!important;padding:4px 7px!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;font-size:16px!important;line-height:1.08!important;font-variant-numeric:tabular-nums!important
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare{
  display:block!important;font-size:10.5px!important;line-height:1.05!important;font-weight:700!important;font-style:italic!important;margin-top:2px!important
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare.up{color:#b9ffc8!important}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare.down{color:#ffd1d9!important}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare.same{color:#fff!important;opacity:.9!important}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .payment-list span,
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .payment-list b{font-size:15px!important}

/* Keep linked client-card icon aligned with the larger row text. */
#view-reports .p744s-report-client-card{width:25px!important;height:25px!important;min-width:25px!important;margin-right:8px!important}
#view-reports .p744s-report-client-card img,#view-reports .p744s-report-client-card svg{width:21px!important;height:21px!important}

/* Mobile: preserve readability; horizontal table scroll is preferable to 10–12px text. */
@media(max-width:760px){
  .topbar.report-salon-header .top-context,.topbar.report-client-header .top-context{gap:3px!important;padding-right:2px!important}
  .topbar.report-salon-header .year-context,.topbar.report-client-header .year-context{width:64px!important;min-width:64px!important}
  .topbar.report-salon-header .p744s-report-year-button,.topbar.report-client-header .p744s-report-year-button{min-width:61px!important;padding-right:18px!important}
  .topbar.report-salon-header .p744s-report-year-button b,.topbar.report-client-header .p744s-report-year-button b{font-size:14px!important}
  .topbar.report-salon-header .report-context-icon,.topbar.report-client-header .report-context-icon,
  .topbar.report-salon-header .p744t-report-compare-btn,.topbar.report-client-header .p744t-report-compare-btn{
    width:34px!important;min-width:34px!important;height:38px!important;min-height:38px!important
  }
  #view-reports #reportTableWrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;padding-left:6px!important;padding-right:6px!important}
  #view-reports .report-table.p744t-report-table{min-width:790px!important;font-size:15px!important}
  #view-reports .report-table.p744t-report-table th{font-size:13.5px!important;padding:7px 8px!important}
  #view-reports .report-table.p744t-report-table td{font-size:14px!important;padding:6px 8px!important;height:30px!important}
  #view-reports .report-table.p744t-report-table td:first-child{font-size:15px!important}
  #view-reports .report-table.p744t-report-table .compare{font-size:10.5px!important}
  .topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .report-general-label{font-size:13.5px!important;padding-right:40px!important}
  .topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong{font-size:14px!important}
}
/* END P744T GLOBAL PHONE PREFIX SEARCH / CLIENT GREEN / REPORT DEEP PARITY */

/* =====================================================================
   P744U — SALONAPP-LIKE REPORT COMPARISON TYPOGRAPHY
   ===================================================================== */

/* Current values: compact but not tiny; use the same sober report face as the
   original report table instead of the rounded app UI font. */
#view-reports .report-table.p744t-report-table{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1.18!important
}
#view-reports .report-table.p744t-report-table th{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:700!important
}
#view-reports .report-table.p744t-report-table td{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1.15!important;
  height:38px!important;
  padding:6px 10px!important
}
#view-reports .report-table.p744t-report-table td:first-child{
  font-size:16px!important;
  font-weight:400!important
}
#view-reports .report-table.p744t-report-table td:not(:first-child){
  font-size:16px!important;
  font-variant-numeric:tabular-nums!important;
  vertical-align:middle!important
}

/* Previous value + delta: in SalonApp they read as a real secondary line,
   not as 9px micro-text. Keep value and +/- percentage separated and aligned. */
#view-reports .report-table.p744t-report-table .compare{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:6px!important;
  margin-top:2px!important;
  min-height:14px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12.5px!important;
  font-weight:700!important;
  font-style:italic!important;
  line-height:1.02!important;
  letter-spacing:0!important;
  white-space:nowrap!important
}
#view-reports .report-table.p744t-report-table .compare span,
#view-reports .report-table.p744t-report-table .compare em{
  display:inline-block!important;
  font-size:inherit!important;
  font-weight:700!important;
  font-style:italic!important;
  line-height:inherit!important
}
#view-reports .report-table.p744t-report-table .compare.up{color:#008b3f!important}
#view-reports .report-table.p744t-report-table .compare.down{color:#d60042!important}
#view-reports .report-table.p744t-report-table .compare.same{color:#555!important}

/* General red value boxes: the comparison line must remain readable too. */
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong{
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16.5px!important;
  line-height:1.04!important;
  min-height:42px!important;
  padding:4px 7px!important
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:6px!important;
  margin-top:3px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:11.5px!important;
  font-weight:700!important;
  font-style:italic!important;
  line-height:1!important;
  white-space:nowrap!important
}
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare span,
.topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare em{
  font-size:inherit!important;font-weight:700!important;font-style:italic!important
}

/* Responsive: preserve the hierarchy instead of shrinking comparison to
   unreadable micro-text. Horizontal scrolling is preferable on narrow phones. */
@media(max-width:760px){
  #view-reports .report-table.p744t-report-table{min-width:790px!important;font-size:15px!important}
  #view-reports .report-table.p744t-report-table td{font-size:14.5px!important;height:34px!important;padding:5px 8px!important}
  #view-reports .report-table.p744t-report-table td:first-child{font-size:15px!important}
  #view-reports .report-table.p744t-report-table .compare{font-size:11.5px!important;gap:5px!important}
  .topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong{font-size:15px!important;min-height:40px!important}
  .topbar.report-salon-header ~ .content #view-reports #reportGeneralInfo .general-line strong .compare{font-size:10.75px!important;gap:4px!important}
}
/* END P744U SALONAPP-LIKE REPORT COMPARISON TYPOGRAPHY */

/* =====================================================================
   P744V — REPORT STRUCTURE / CLIENT LOGIC / MOBILE PARITY
   Misure ricavate dal Report Clienti SalonApp originale: Roboto 16px,
   righe principali ~38px, bordo sottile, beige #faebd7.
   ===================================================================== */
#view-reports .p744v-report-table,
#view-reports .p744v-client-report-table,
#view-reports .p744v-report-table th,
#view-reports .p744v-report-table td,
#view-reports .p744v-client-report-table th,
#view-reports .p744v-client-report-table td{
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:normal!important
}
#view-reports .p744v-report-table td,
#view-reports .p744v-client-report-table td{height:38px!important;padding:4px 8px!important;box-sizing:border-box!important}
#view-reports .p744v-report-table th,
#view-reports .p744v-client-report-table th{height:44px!important;padding:4px 8px!important;font-weight:600!important}
#view-reports .p744v-client-report-table .category-row,
#view-reports .p744v-report-table .category-row{background:#faebd7!important;color:#333!important}
#view-reports .p744v-client-report-table td,
#view-reports .p744v-report-table td{border-color:#bbbcbD!important}

/* Freccia INCASSO separata dalla freccia PAGAMENTI */
.p744v-inline-chevron-btn{width:28px!important;height:28px!important;min-width:28px!important;margin-left:8px!important;padding:0!important;border:0!important;background:transparent!important;vertical-align:middle!important;cursor:pointer!important}
.p744v-inline-chevron,.p744v-head-chevron{display:inline-block!important;width:10px!important;height:10px!important;border-right:1.7px solid #111!important;border-bottom:1.7px solid #111!important;transform:rotate(45deg)!important;transition:transform .14s ease!important}
.p744v-inline-chevron.open,.p744v-head-chevron.open{transform:rotate(225deg)!important}
.p744v-revenue-breakdown{margin:0 0 4px 0!important;border:1px solid #eee!important;background:#fff!important;font:400 15px Roboto,"Helvetica Neue",Arial,sans-serif!important}
.p744v-revenue-breakdown.hidden{display:none!important}
.p744v-revenue-breakdown>div{display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;min-height:34px!important;align-items:center!important;border-bottom:1px solid #eee!important;padding:0 8px!important;text-align:right!important}
.p744v-revenue-breakdown>div:last-child{border-bottom:0!important}
.p744v-revenue-breakdown .p744v-breakdown-title{display:block!important;min-height:30px!important;padding:6px 8px!important;background:#f8f8f8!important;font-weight:700!important;text-align:right!important}
.p744v-revenue-breakdown b{font-weight:400!important;font-variant-numeric:tabular-nums!important}

/* PAGAMENTI: barra magenta + 3 righe come originale. */
#view-reports .p744v-payment-head{display:flex!important;width:100%!important;height:36px!important;align-items:center!important;justify-content:center!important;position:relative!important;margin:8px 0 0!important;border:0!important;border-radius:0!important;background:#d60042!important;color:#fff!important;font:600 15px Roboto,"Helvetica Neue",Arial,sans-serif!important;cursor:pointer!important}
#view-reports .p744v-payment-head .p744v-head-chevron{position:absolute!important;right:14px!important;border-color:#fff!important}
#view-reports .p744v-payment-list{display:block!important;padding:0!important;margin:0!important;background:#fff!important}
#view-reports .p744v-payment-list.hidden{display:none!important}
#view-reports .p744v-payment-row{display:grid!important;grid-template-columns:minmax(0,1fr) 168px!important;align-items:center!important;min-height:40px!important;border-bottom:1px solid #ddd!important;font:400 15px Roboto,"Helvetica Neue",Arial,sans-serif!important}
#view-reports .p744v-payment-row span{text-align:right!important;padding-right:24px!important}
#view-reports .p744v-payment-row b{height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#d60042!important;color:#fff!important;font-weight:500!important;font-variant-numeric:tabular-nums!important}
#view-reports .p744v-payment-total span{color:#d60042!important;font-weight:500!important}
#view-reports .p744v-payment-total b{font-weight:700!important}
#view-reports .p744v-other-payments{border-bottom:1px solid #ddd!important;font:400 13px Roboto,"Helvetica Neue",Arial,sans-serif!important}
#view-reports .p744v-other-payments summary{cursor:pointer!important;padding:6px 12px!important;text-align:right!important;color:#666!important}
#view-reports .p744v-other-payments>div{display:grid!important;grid-template-columns:minmax(0,1fr) 168px!important;padding:4px 8px!important;text-align:right!important}

/* Totale finale del Report Giornaliero/Mensile/Salone. */
#view-reports .p744v-report-table .report-total-row td{background:#d60042!important;color:#fff!important;font-weight:700!important;border-color:#fff!important;height:40px!important}
#view-reports .p744v-report-table .report-total-row td:first-child{text-align:left!important}
#view-reports .p744v-report-table .report-total-row .compare{color:#fff!important}

/* Report Clienti: rubrica accanto al nome e badge Nuovi count | ripassi. */
#view-reports .p744v-client-report-table .expand-cell{white-space:normal!important}
#view-reports .p744v-client-report-table .client-segment-badge{font:400 13px Roboto,"Helvetica Neue",Arial,sans-serif!important;vertical-align:middle!important;margin-left:8px!important}
#view-reports .p744v-new-repeat-sep{display:inline-block!important;margin:0 4px!important;color:#777!important}
#view-reports .p744v-repeat-badge{margin-left:0!important}
#view-reports .p744v-report-client-card{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;margin-right:7px!important;width:24px!important;height:24px!important;min-width:24px!important;padding:0!important}
#view-reports .p744v-report-client-card img,#view-reports .p744v-report-client-card svg{max-width:20px!important;max-height:20px!important}
#view-reports .p744v-client-report-table .report-client-person strong{font-weight:500!important}
#view-reports .p744v-client-report-table .report-client-last{display:inline-block!important;margin-left:8px!important;font-size:11px!important;color:#777!important}

/* Desktop e mobile: non ridurre a micro-font; scorrimento orizzontale controllato. */
#reportTableWrap,#reportClientTable{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
@media(max-width:760px){
  #view-reports .p744v-report-table{min-width:720px!important}
  #view-reports .p744v-client-report-table{min-width:650px!important}
  #view-reports .p744v-report-table td,#view-reports .p744v-client-report-table td{font-size:14px!important;height:36px!important;padding:4px 6px!important}
  #view-reports .p744v-report-table th,#view-reports .p744v-client-report-table th{font-size:14px!important;height:40px!important}
  #view-reports .p744v-payment-row{grid-template-columns:minmax(0,1fr) 126px!important;font-size:14px!important}
  #view-reports .p744v-payment-row span{padding-right:10px!important}
  .p744v-revenue-breakdown>div{grid-template-columns:minmax(0,1fr) 126px!important;font-size:14px!important}
  #view-reports .p744v-other-payments>div{grid-template-columns:minmax(0,1fr) 126px!important}
}

/* Precedenza esplicita sul vecchio layer P744U (Arial): P744V usa la famiglia
   misurata dal DOM SalonApp originale. */
#view-reports .report-table.p744t-report-table.p744v-report-table,
#view-reports .report-table.p744t-report-table.p744v-report-table th,
#view-reports .report-table.p744t-report-table.p744v-report-table td{font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important}
#view-reports .report-table.p744t-report-table.p744v-report-table td{font-size:16px!important;height:38px!important;line-height:normal!important;padding:4px 8px!important}
#view-reports .report-table.p744t-report-table.p744v-report-table th{font-size:16px!important;height:44px!important;line-height:normal!important}
@media(max-width:760px){
  #view-reports .report-table.p744t-report-table.p744v-report-table td{font-size:14px!important;height:36px!important;padding:4px 6px!important}
  #view-reports .report-table.p744t-report-table.p744v-report-table th{font-size:14px!important;height:40px!important}
}
/* END P744V REPORT STRUCTURE / CLIENT LOGIC / MOBILE PARITY */

