/* Florentini UI v14 — global readability, dark surfaces and stable controls. */

/* True whole-application scale: compensate the layout box so the viewport never grows sideways. */
body{--site-scale:1;--site-layout-size:100%;--site-contrast:100%;--sidebar-svg-contrast:100%}
.app{width:var(--site-layout-size);height:var(--site-layout-size);zoom:var(--site-scale);filter:contrast(var(--site-contrast))}
body[data-contrast-level="100"] .app{filter:none}
.sidebar .nav-item .ico svg{filter:contrast(var(--sidebar-svg-contrast));transition:filter var(--t-fast) var(--ease-expo),transform var(--t-fast) var(--ease-expo)}
.sidebar .nav-item:hover .ico svg{transform:scale(1.07)}

/* Dashboard KPIs are real navigation controls. */
button.v5-kpi{width:100%;appearance:none;text-align:left;font:inherit;cursor:pointer}
button.v5-kpi::after{content:"↗";position:absolute;right:13px;top:11px;color:var(--florentini-green-deep);font:10px var(--font-mono);opacity:0;transform:translate(-3px,3px);transition:.18s var(--ease-soft)}
button.v5-kpi:hover::after,button.v5-kpi:focus-visible::after{opacity:.78;transform:none}
button.v5-kpi:hover{border-color:color-mix(in srgb,var(--florentini-green) 48%,var(--glass-border));box-shadow:var(--glass-shadow-lift);transform:translateY(-2px)}
button.v5-kpi:focus-visible{outline:3px solid color-mix(in srgb,var(--lime) 65%,transparent);outline-offset:3px}

/* Drag-and-drop in settings. */
.settings-widget-row[draggable="true"],.settings-section-row[draggable="true"]{cursor:grab;user-select:none;transition:border-color .16s var(--ease-soft),background .16s var(--ease-soft),opacity .16s var(--ease-soft),transform .16s var(--ease-soft)}
.settings-widget-row[draggable="true"]:active,.settings-section-row[draggable="true"]:active{cursor:grabbing}
.settings-widget-row.dragging,.settings-section-row.dragging{opacity:.42;transform:scale(.985)}
.settings-widget-row.drag-over,.settings-section-row.drag-over{border-color:var(--florentini-green)!important;background:color-mix(in srgb,var(--florentini-green-mist) 70%,var(--surface))!important;box-shadow:inset 4px 0 0 var(--florentini-green)}
.settings-widget-row::before,.settings-section-row::before{content:"⠿";position:absolute;left:3px;color:var(--gray);font:12px var(--font-mono);opacity:0;transition:opacity .16s}
.settings-widget-row:hover::before,.settings-section-row:hover::before{opacity:.52}
.settings-widget-row,.settings-section-row{position:relative}
.settings-section-name-v14{min-width:0;display:flex;align-items:center;gap:5px}
.settings-section-name-v14 input{width:100%;min-width:0;height:28px;padding:0 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--charcoal);font:600 10px var(--font-sans);outline:0;text-overflow:ellipsis}
.settings-section-name-v14 input:hover:not(:disabled){border-color:var(--glass-border-soft);background:rgba(var(--surface-rgb),.5)}
.settings-section-name-v14 input:focus{border-color:var(--florentini-green);background:rgba(var(--surface-rgb),.78);box-shadow:0 0 0 3px color-mix(in srgb,var(--florentini-green) 15%,transparent)}
.settings-section-name-v14 button{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--glass-border-soft);border-radius:7px;background:rgba(var(--surface-rgb),.5);color:var(--gray);cursor:pointer}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Readability controls. */
.settings-readability-grid-v14{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.settings-range-card-v14{min-width:0;display:grid!important;gap:9px;padding:12px;border:1px solid var(--glass-border-soft);border-radius:13px;background:rgba(var(--surface-rgb),.52)}
.settings-range-card-v14>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-range-card-v14>span b{color:var(--charcoal);font-size:10px}.settings-range-card-v14>span small{color:var(--florentini-green-deep);font:10px var(--font-mono)}
.settings-range-card-v14 input[type="range"]{width:100%;accent-color:var(--florentini-green)}
.settings-range-card-v14>em{color:var(--gray);font:8.5px/1.45 var(--font-sans);font-style:normal}

/* The trash button owns a fixed circular box; generic section-button styles cannot stretch it. */
.menu-role-section-list .menu-role-section-row>button:first-child{padding-right:48px}
.menu-role-section-list .menu-role-section-row>button.delete-hover-btn{position:absolute!important;right:8px!important;top:50%!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;border:1px solid rgba(170,96,82,.28)!important;border-radius:50%!important;background:rgba(255,247,244,.96)!important;color:#a45f55!important;text-align:center!important;transform:translateY(-50%) translateX(4px)!important}
.menu-role-section-list .menu-role-section-row:hover>button.delete-hover-btn{opacity:1;transform:translateY(-50%)!important}
.menu-role-section-list .menu-role-section-row>button.delete-hover-btn:hover{background:#a45f55!important;color:#fff!important}
.waiter-card-top{padding-right:38px}
.waiter-card>.delete-hover-btn{right:14px!important;top:14px!important;width:30px!important;height:30px!important;min-height:30px!important;padding:0!important}

/* Reward builder: account for the real content width after the sidebar. */
.reward-builder-v8,.reward-builder-v8 .reward-builder-layout-v8,.reward-builder-v8 .reward-builder-main-v8,.reward-builder-v8 .reward-builder-basics-v10,.reward-builder-v8 fieldset{min-width:0;max-width:100%}
.reward-builder-v8 .reward-builder-main-v8{overflow:hidden}
.reward-builder-basic-fields-v10 input,.reward-builder-basic-fields-v10 textarea{width:100%;min-width:0}
.reward-builder-v8 .reward-rarity-picker-v8>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.reward-builder-v8 .reward-medal-picker-v8>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Rewards must remain readable on large desktop screens. */
.rewards-center-v8 .reward-podium-v8 article{min-height:104px;padding:15px 16px;grid-template-columns:50px minmax(0,1fr) auto;gap:13px}
.rewards-center-v8 .reward-podium-v8 article>i{width:48px;height:48px;font-size:14px}
.rewards-center-v8 .reward-podium-v8 b{font-size:15px}.rewards-center-v8 .reward-podium-v8 small{font-size:11.5px}.rewards-center-v8 .reward-podium-v8 em{font-size:12.5px}.rewards-center-v8 .reward-podium-v8 strong{font-size:10.5px}
.rewards-center-v8 .reward-ranking-list-v8{padding:0 16px 16px}
.rewards-center-v8 .reward-ranking-list-v8 article{grid-template-columns:40px 46px minmax(0,1fr) minmax(105px,auto) 92px;gap:13px;min-height:78px}
.rewards-center-v8 .reward-ranking-list-v8 article>strong{font-size:12px}.rewards-center-v8 .reward-ranking-list-v8 article>i{width:44px;height:44px;font-size:13px}
.rewards-center-v8 .reward-ranking-list-v8 article>span b{font-size:15px}.rewards-center-v8 .reward-ranking-list-v8 article>span small,.rewards-center-v8 .reward-ranking-list-v8 article>em{font-size:11.5px}.rewards-center-v8 .reward-ranking-list-v8 article>b{font-size:14px}
.rewards-center-v8 .rewards-history-v8>div:last-child>article{min-height:68px}.rewards-center-v8 .rewards-history-v8>div:last-child>article b{font-size:13.5px}.rewards-center-v8 .rewards-history-v8>div:last-child>article small,.rewards-center-v8 .rewards-history-v8>div:last-child>article time,.rewards-center-v8 .rewards-history-v8>div:last-child>article em{font-size:10.5px}
.reward-builder-v8 .reward-rarity-picker-v8 button b,.reward-builder-v8 .reward-medal-picker-v8 button b{font-size:12px!important}.reward-builder-v8 .reward-rarity-picker-v8 button small,.reward-builder-v8 .reward-medal-picker-v8 button small{font-size:9.5px!important}

/* Night theme audit: remove the remaining hard-coded paper surfaces from interactive pages. */
body[data-theme="night"] .cc4-metric-box{background:linear-gradient(160deg,rgba(var(--surface-rgb),.82),rgba(113,145,96,.13))}
body[data-theme="night"] .tech-card-tile,body[data-theme="night"] .tech-card-tile:hover{background:rgba(var(--surface-rgb),.84);border-color:var(--glass-border)}
body[data-theme="night"] .tech-card-tile:hover{background:rgba(var(--surface-rgb),.96);border-color:rgba(171,206,145,.38);box-shadow:0 24px 54px rgba(0,0,0,.32)}
body[data-theme="night"] .tech-card-paper{background:linear-gradient(180deg,rgba(var(--surface-rgb),.96),rgba(20,25,34,.92))}
body[data-theme="night"] .tech-tile-photo{background:linear-gradient(145deg,#222a36,#171d27)}
body[data-theme="night"] .tech-tile-photo b{background:rgba(25,31,41,.88);color:#c4dea9}
body[data-theme="night"] .menu-editor-overlay,body[data-theme="night"] .menu-modal-overlay{background:rgba(8,11,16,.76)}
body[data-theme="night"] .menu-editor-modal,body[data-theme="night"] .menu-modal{background:rgba(26,32,42,.98);border-color:rgba(171,206,145,.18);box-shadow:0 30px 100px rgba(0,0,0,.55)}
body[data-theme="night"] .menu-editor-head,body[data-theme="night"] .menu-editor-actions{background:rgba(26,32,42,.96)}
body[data-theme="night"] .v5-notice-panel{background:#1c222d;border-color:var(--glass-border)}
body[data-theme="night"] .v5-notice-row,body[data-theme="night"] .v5-notice-row.unread,body[data-theme="night"] .v5-notice-row:hover{border-color:var(--glass-border-soft);background:#252c38}
body[data-theme="night"] .v5-notice-copy>b{color:var(--charcoal)}
body[data-theme="night"] .owner-reward-studio-body{background:#1b222c}
body[data-theme="night"] .owner-reward-fields-v7 input,body[data-theme="night"] .owner-reward-fields-v7 textarea,body[data-theme="night"] .owner-employee-picker-v7>button,body[data-theme="night"] .owner-reward-program-v7{border-color:var(--glass-border-soft);background:rgba(var(--surface-rgb),.78);color:var(--charcoal)}
body[data-theme="night"] .owner-program-toolbar-v7,body[data-theme="night"] .owner-assignment-editor-v7,body[data-theme="night"] .owner-progress-state-v7{border-color:var(--glass-border-soft);background:rgba(var(--surface-rgb),.64);color:var(--graphite)}
body[data-theme="night"] .owner-program-toolbar-v7 button,body[data-theme="night"] .owner-assignment-editor-v7>div:last-child button{border-color:var(--glass-border-soft);background:rgba(var(--surface-rgb),.82);color:var(--charcoal)}
body[data-theme="night"] input,body[data-theme="night"] textarea,body[data-theme="night"] select{color-scheme:dark}body[data-theme="night"] option{background:#1e2430;color:#e8ebf1}
body[data-theme="night"] .reward-podium-v8 article.place-1{background:linear-gradient(145deg,rgba(205,171,99,.17),rgba(var(--surface-rgb),.78));color:var(--charcoal)}
body[data-theme="night"] .chat-compose-modal-v11,body[data-theme="night"] .chat-picker-v12,body[data-theme="night"] .chat-readers-popover-v12{background:#202733;border-color:var(--glass-border);box-shadow:0 28px 80px rgba(0,0,0,.55)}
body[data-theme="night"] .chat-compose-modal-v11>nav,body[data-theme="night"] .chat-picker-v12>nav,body[data-theme="night"] .chat-density-picker-v12>div{background:#171d27}
body[data-theme="night"] .chat-compose-modal-v11>nav button.active,body[data-theme="night"] .chat-picker-v12>nav button.active,body[data-theme="night"] .chat-density-picker-v12 button.active{background:#303a49;color:#c3dda9}
body[data-theme="night"] .chat-compose-modal-v11>header button,body[data-theme="night"] .chat-group-title-v11 input,body[data-theme="night"] .chat-people-search-v11,body[data-theme="night"] .chat-setting-field-v12 input,body[data-theme="night"] .chat-setting-pairs-v13 select,body[data-theme="night"] .chat-theme-grid-v12 button,body[data-theme="night"] .chat-wallpaper-grid-v13 button{background:#28313f;border-color:var(--glass-border-soft);color:var(--charcoal)}
body[data-theme="night"] .chat-people-list-v11>button:hover,body[data-theme="night"] .chat-people-list-v11>button.selected{background:#2a3740}body[data-theme="night"] .chat-people-list-v11 b{color:var(--charcoal)}body[data-theme="night"] .chat-people-list-v11 small,body[data-theme="night"] .chat-people-list-v11 em{color:var(--gray)}
body[data-theme="night"] .chat-composer-v11{background:rgba(25,31,41,.96)}body[data-theme="night"] .chat-attachment-tray-v11>div,body[data-theme="night"] .chat-textarea-wrap-v11,body[data-theme="night"] .chat-emoji-menu-v11{background:#2a3341;border-color:var(--glass-border-soft);color:var(--charcoal)}
body[data-theme="night"] .menu-role-section-list .menu-role-section-row>button.delete-hover-btn,body[data-theme="night"] .waiter-card>.delete-hover-btn{background:rgba(78,43,40,.96)!important;color:#f3b8ab!important;border-color:rgba(221,140,116,.35)!important}
body[data-theme="night"] .menu-role-section-list .menu-role-section-row>button.delete-hover-btn:hover,body[data-theme="night"] .waiter-card>.delete-hover-btn:hover{background:#b35f50!important;color:#fff!important}

@media(max-width:1500px){.reward-builder-v8 .reward-builder-layout-v8{grid-template-columns:1fr!important}.reward-builder-v8 .reward-builder-preview-v8{position:relative!important;top:auto!important;grid-row:auto!important}.settings-readability-grid-v14{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.settings-readability-grid-v14{grid-template-columns:1fr}.reward-builder-v8 .reward-rarity-picker-v8>div,.reward-builder-v8 .reward-medal-picker-v8>div{grid-template-columns:1fr!important}.rewards-center-v8 .reward-ranking-list-v8 article{grid-template-columns:30px 36px minmax(0,1fr) auto}.rewards-center-v8 .reward-ranking-list-v8 article>em{grid-column:3}.rewards-center-v8 .reward-ranking-list-v8 article>b{grid-column:4;grid-row:1 / span 2}}
@media(prefers-reduced-motion:reduce){.settings-widget-row,.settings-section-row,button.v5-kpi{transition:none!important}}
