*,*::before,*::after{box-sizing:border-box}
:root{
  --wine:#7B1E3A; --wine-dark:#5e152c; --gold:#B87D3A; --bg:#FBF0F3; --text:#2C2C2A;
  --card:#ffffff; --muted:#7a6a70; --border:#ecdde2; --secondary:#f4e3e8; --secondary-strong:#ead3da;
  --success:#4A9E75; --success-bg:rgba(74,158,117,.15);
  --warning:#B87D3A; --warning-bg:rgba(184,125,58,.15);
  --wine-bg:rgba(123,30,58,.12);
  --radius:12px;
  --shadow:0 4px 12px rgba(60,20,35,.08);
  --shadow-lg:0 14px 40px rgba(60,20,35,.18);
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.h-16{height:64px}
h1{font-size:1.6rem;margin:0 0 4px;font-weight:700;letter-spacing:-0.01em}
h2{font-size:1.15rem;margin:0 0 16px;font-weight:600}
h3{font-size:1rem;margin:0;font-weight:600}
p{margin:0}
.muted{color:var(--muted);font-size:.9rem}
.small{font-size:.78rem;color:var(--muted)}
.sub{color:var(--muted);margin:0 0 28px}
/* Logo */
.logo{display:inline-flex;align-items:center;gap:8px}
.brand-image{display:block;object-fit:contain}
.brand-image.sm{height:28px;max-width:144px}
.brand-image.lg{height:48px;max-width:220px}
.logo .word{font-weight:800;color:var(--wine);letter-spacing:-0.02em}
.logo.sm .word{font-size:1.1rem}
.logo.md .word{font-size:1.55rem}
.logo.lg .word{font-size:2.4rem}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:.88rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .18s ease;font-family:inherit;text-decoration:none}
.btn:hover{transform:translateY(-1px)}
.btn-hero{background:linear-gradient(135deg,var(--wine),var(--wine-dark));color:#fff;box-shadow:var(--shadow)}
.btn-hero:hover{box-shadow:var(--shadow-lg);color:#fff}
.btn-hero:hover svg,.btn-hero:hover .ico{color:#fff;stroke:currentColor}
.btn-accent{background:var(--gold);color:#fff}
.btn-accent:hover{background:#a36d31}
.btn-success{background:var(--success);color:#fff}
.btn-outline{background:#fff;border-color:var(--border);color:var(--text)}
.btn-outline:hover{background:var(--secondary)}
.btn-ghost{background:transparent;color:var(--muted)}
.btn-ghost:hover{background:var(--secondary);color:var(--text)}
.btn-danger{background:var(--wine-bg);border-color:rgba(123,30,58,.22);color:var(--wine)}
.btn-danger:hover{background:var(--wine);color:#fff}
.btn.disabled,.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}
.btn-sm{padding:7px 12px;font-size:.8rem}
.btn-lg{padding:14px 26px;font-size:1rem}
.btn .ico{width:16px;height:16px}
.d-none{display:none!important}
/* Layout for dashboards */
.app{display:flex;height:100dvh;min-height:100vh;overflow:hidden}
.sidebar{width:248px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}
.sidebar-head{padding:22px;border-bottom:1px solid var(--border)}
.sidebar .nav{display:block;flex:1;flex-wrap:initial;align-items:initial;justify-content:initial;gap:0;margin:0;padding:16px;list-style:none}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:.88rem;color:var(--muted);font-weight:500;margin-bottom:4px;transition:all .15s}
.nav a:hover{background:var(--secondary);color:var(--text)}
.nav a.active{background:var(--wine);color:#fff}
.nav a.active svg{color:#fff}
.nav svg{width:16px;height:16px;flex-shrink:0}
.nav-foot{padding:16px;border-top:1px solid var(--border)}
.nav-logout{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--muted);font-size:.88rem;font-weight:500}
.nav-logout:hover{background:var(--secondary);color:var(--text)}
.nav-logout svg{width:16px;height:16px;flex-shrink:0}
.main{flex:1;min-height:0;height:100dvh;padding:36px;overflow:auto}
.maxw-3{max-width:760px}
.maxw-4{max-width:960px}
.maxw-5{max-width:1140px}
/* Cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.card+ .card{margin-top:20px}
.card-title-icon{display:flex;align-items:center;gap:8px}
.card-title-icon span{color:var(--gold);display:flex}
.card-title-icon svg{width:20px;height:20px}
.activity-text{font-size:.9rem}
.activity-time{white-space:nowrap;margin-left:16px}
/* KPI */
.kpi-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}
.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;gap:14px;align-items:flex-start;transition:box-shadow .15s}
.kpi:hover{box-shadow:var(--shadow)}
.kpi-ico{padding:10px;border-radius:8px;background:var(--secondary);color:var(--wine);display:flex}
.kpi-ico svg{width:18px;height:18px}
.kpi-title{font-size:.82rem;color:var(--muted);margin:0}
.kpi-value{font-size:1.55rem;font-weight:700;margin:4px 0 2px}
/* Tables */
.tbl-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
table{width:100%;border-collapse:collapse}
thead tr{background:var(--secondary)}
th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:12px 20px}
td{padding:14px 20px;font-size:.88rem;border-top:1px solid var(--border)}
tbody tr:hover{background:#fbf6f8}
.table-strong{font-weight:600}
.table-summary{color:var(--muted);font-size:.88rem;margin:0 0 12px}
.empty-cell{text-align:center;color:var(--muted);padding:32px 20px}
/* Status badges */
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:600}
.badge-approved{background:var(--success-bg);color:var(--success)}
.badge-pending{background:var(--warning-bg);color:var(--warning)}
.badge-rejected{background:var(--wine-bg);color:var(--wine)}
.badge-active{background:var(--success-bg);color:var(--success)}
.badge-inactive{background:#eee;color:var(--muted)}
/* Inputs */
input,select,textarea{font-family:inherit;font-size:.88rem;padding:11px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);width:100%}
input[type="checkbox"]{width:auto}
input:focus,select:focus,textarea:focus{outline:2px solid var(--wine);outline-offset:1px}
textarea{resize:vertical;min-height:90px}
label.field{display:block;font-size:.85rem;font-weight:600;margin-bottom:8px}
.form-group{margin-bottom:16px}
.form-check-row{display:flex;align-items:center;gap:10px;margin:4px 0 20px;font-size:.9rem;font-weight:600}
/* List rows */
.row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.row:last-child{border-bottom:0}
/* Public pages */
.nav-public{background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.nav-public .container{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand-link{display:inline-flex;align-items:center}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a,.footer-links a{display:inline-flex;align-items:center;min-height:34px;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:.86rem;font-weight:600;transition:background .15s,color .15s}
.nav-links a:hover,.footer-links a:hover{background:var(--secondary);color:var(--text)}
.nav-actions{display:flex;gap:10px;align-items:center}
.hero{background:linear-gradient(135deg,#7B1E3A 0%,#4a1224 100%);color:#fff;padding:96px 0 110px;text-align:center}
.hero-brand{text-align:center;margin:0 auto 6px}
.hero-brand .logo{display:inline-flex;align-items:center;justify-content:center}
.hero-brand-image{display:inline-block;height:48px;max-width:240px;width:auto;object-fit:contain;vertical-align:middle;margin:0 auto}
.hero h1{font-size:2.6rem;color:#fff;line-height:1.15;max-width:760px;margin:24px auto 18px;font-weight:700}
.hero p{color:rgba(255,255,255,.78);max-width:600px;margin:0 auto 32px;font-size:1.05rem}
.section{padding:80px 0}
.section h2{font-size:1.9rem;text-align:center;margin-bottom:8px}
.section .lead{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 48px}
.feature-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1080px;margin:0 auto}
.feature{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:box-shadow .2s}
.feature:hover{box-shadow:var(--shadow-lg)}
.feature-ico{display:inline-flex;padding:12px;border-radius:10px;background:var(--secondary);color:var(--wine);margin-bottom:14px}
.feature-ico svg{width:22px;height:22px}
.feature h3{margin-bottom:6px;font-size:1.05rem}
.feature p{color:var(--muted);font-size:.9rem}
.pricing-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:980px;margin:0 auto}
.price-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column}
.price-card.popular{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,125,58,.18),var(--shadow-lg)}
.tag-popular{font-size:.7rem;font-weight:700;color:var(--gold);letter-spacing:.06em;margin-bottom:8px}
.price{font-size:2rem;font-weight:700;margin:12px 0 4px}
.price small{font-size:.85rem;color:var(--muted);font-weight:500}
.price-features{list-style:none;padding:0;margin:0 0 24px;flex:1}
.price-features li{font-size:.88rem;padding:6px 0;display:flex;align-items:center;gap:8px}
.check{width:16px;height:16px;color:var(--success);flex-shrink:0}
.bg-secondary{background:#f7e7ec}
footer{background:#fff;border-top:1px solid var(--border);padding:42px 0}
footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.footer-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
/* Login */
.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:440px}
.login-card .card{padding:32px}
.login-brand{text-align:center;margin-bottom:24px}
.login-brand .brand-link{justify-content:center;margin-bottom:10px}
.role-list{margin-bottom:18px}
.role-btn{width:100%;display:flex;align-items:center;gap:14px;padding:14px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;text-align:left;margin-bottom:10px;font-family:inherit;transition:all .15s}
.role-btn:hover{border-color:rgba(123,30,58,.35)}
.role-btn.sel{border-color:var(--wine);background:var(--secondary)}
.role-btn .ric{padding:8px;border-radius:8px;background:var(--secondary);color:var(--muted);display:flex}
.role-btn.sel .ric{background:var(--wine);color:#fff}
.role-btn svg{width:18px;height:18px}
.role-btn .name{font-size:.9rem;font-weight:600}
.role-btn .desc{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.login-card input[type="email"],.login-card input[type="text"],.login-card input[type="password"]{margin-bottom:10px}
.field-error{display:block;color:var(--wine);font-size:.78rem;margin:-4px 0 10px}
.form-error{border:1px solid rgba(123,30,58,.25);border-radius:8px;background:var(--wine-bg);color:var(--wine);font-size:.85rem;padding:10px 12px;margin-bottom:14px}
.auth-options{display:flex;justify-content:flex-end;margin:4px 0 18px}
.auth-options a,.auth-footnote a{color:var(--wine);font-weight:700}
.auth-submit{width:100%}
.auth-footnote{text-align:center;color:var(--muted);font-size:.88rem;margin:16px 0 0}
.auth-copy{color:var(--muted);font-size:.92rem;margin:10px 0 22px}
.auth-actions{display:grid;gap:10px;margin-top:22px}
.auth-checkbox{display:flex;align-items:flex-start;gap:10px;color:var(--text);font-size:.9rem;margin:6px 0 18px;cursor:pointer}
.auth-checkbox input{margin-top:3px;flex-shrink:0}
.auth-state-card h1{font-size:1.35rem;margin-bottom:8px}
/* Time grid */
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:18px}
.week-grid .day{text-align:center}
.week-grid .day label{font-size:.72rem;color:var(--muted);display:block;margin-bottom:4px}
.week-grid input{text-align:center;padding:11px 4px}
.total-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--border);margin-bottom:12px}
.total-row .v{font-weight:700;font-size:1.05rem}
/* Notif */
.notif{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;gap:14px;margin-bottom:12px}
.notif.unread{border-left:4px solid var(--gold)}
.notif .nico{padding:8px;border-radius:8px;background:var(--secondary);color:var(--wine);display:flex;height:34px}
.notif svg{width:16px;height:16px}
.notif .msg{font-size:.9rem}
.notif.unread .msg{font-weight:600}
/* Filters bar */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;align-items:center}
.filters select,.filters input{width:auto;padding:8px 12px;font-size:.85rem}
.filters .nice-select{height:42px;line-height:40px;border-color:var(--border);border-radius:8px;color:var(--text);font-size:.85rem;clear:none;float:none;padding-left:14px;padding-right:34px}
.filters .nice-select:after{border-color:var(--muted);right:14px}
.filters .nice-select.open,.filters .nice-select:focus{border-color:var(--border)}
.filters .nice-select .list{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;max-height:260px;overflow:auto}
.filters .nice-select .option{font-size:.85rem;line-height:36px;min-height:36px;color:var(--text);font-weight:500}
.filters .nice-select .option:hover,.filters .nice-select .option.focus,.filters .nice-select .option.selected.focus{background:var(--secondary);color:var(--text)}
.filters .nice-select-search-box,.filters input.nice-select-search{display:none}
.table-tools-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;width:100%;margin:0 0 12px}
.table-tools-row .table-summary{margin:0}
.table-tools{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;justify-self:end}
.table-tool-field{display:flex;flex-direction:column;gap:4px;width:140px}
.table-tool-field label{font-size:.75rem;color:var(--muted);font-weight:500}
.table-tool-field .nice-select{height:36px;line-height:34px}
.table-tool-field .nice-select .option{line-height:34px;min-height:34px}
.hayro-filter-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:18px}
.hayro-filter-card .filter-field{min-width:190px}
.hayro-filter-stack{display:grid;gap:16px;margin-bottom:18px}
.hayro-filter-card label.field{font-size:.74rem;margin-bottom:5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.small-filter{min-width:140px}
.consultant-filter-bar{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,1fr) minmax(170px,1fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(110px,.7fr) auto;gap:12px;align-items:end}
.consultant-filter-bar .filter-field{min-width:0}
.consultant-filter-bar .filter-field input,.consultant-filter-bar .filter-field select{width:100%}
.consultant-filter-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.consultant-filter-actions .btn{white-space:nowrap}
.hayro-pagination{margin-top:18px}
.pagination{display:flex;gap:6px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.page-link{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);font-size:.84rem;font-weight:600;padding:0 10px}
.page-item.active .page-link,.page-link:hover{background:var(--wine);border-color:var(--wine);color:#fff}
.page-item.disabled .page-link{opacity:.5;pointer-events:none}
.consultant-advanced{padding:18px}
.consultant-advanced-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.occupation-filter-grid{display:flex;flex-wrap:wrap;gap:10px}
.occupation-chip,.choice-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font-size:.85rem}
.occupation-chip input,.choice-chip input{margin:0}
.season-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.9rem;font-weight:600}
.consultant-cell{display:flex;align-items:center;gap:12px}
.consultant-avatar{width:40px;height:40px;border-radius:999px;object-fit:cover;flex-shrink:0}
.consultant-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--secondary);color:var(--wine);font-weight:700}
.consultant-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.tag-list{display:flex;flex-wrap:wrap;gap:6px}
.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--secondary);color:var(--text);font-size:.76rem;font-weight:600}
/* Toast */
.toast{position:fixed;top:24px;right:24px;background:var(--text);color:#fff;padding:14px 20px;border-radius:8px;box-shadow:var(--shadow-lg);font-size:.88rem;opacity:0;transform:translateY(-12px);transition:all .25s;z-index:1000}
.toast.show{opacity:1;transform:translateY(0)}
.toast.success{background:var(--success)}
/* Headline row */
.head-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.flex-gap{display:flex;gap:8px}
/* Modals */
.hayro-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;z-index:900}
.hayro-modal.open{display:flex}
.hayro-modal-backdrop{position:absolute;inset:0;background:rgba(44,44,42,.44)}
.hayro-modal-panel{position:relative;width:min(100%,480px);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:26px}
.hayro-modal-panel h2{margin:0 0 4px;font-size:1.28rem}
.modal-subtitle{margin-bottom:22px}
.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer}
.modal-close:hover{background:var(--secondary);color:var(--text)}
.modal-loading{padding:26px;text-align:center;color:var(--muted)}
.hayro-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}
.hayro-form-actions .action-push{margin-left:auto}
.hayro-modal-panel-lg{width:min(100%,760px)}
.hayro-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-group-full{grid-column:1 / -1}
.choice-grid{display:flex;flex-wrap:wrap;gap:10px}
.boolean-stack{display:grid;gap:10px}
/* Hayro popup form modal, scoped to avoid Bootstrap modal conflicts */
.hayro-popup-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:16px}
.hayro-popup-modal.is-open{display:flex;animation:hayroFadeIn .18s ease-out}
.hayro-popup-modal .modal-backdrop{position:absolute;inset:0;background:rgba(40,15,25,.55);backdrop-filter:blur(2px)}
.hayro-popup-modal .modal-dialog{position:relative;width:100%;max-width:576px;max-height:90vh;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(60,20,30,.25);display:flex;flex-direction:column;overflow:hidden;animation:hayroModalIn .22s cubic-bezier(.2,.8,.3,1)}
.hayro-popup-modal .modal-dialog-lg{max-width:760px}
.hayro-popup-modal .modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:16px}
.hayro-popup-modal .modal-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}
.hayro-popup-modal .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:transparent;border:0;cursor:pointer;color:var(--muted);flex-shrink:0}
.hayro-popup-modal .icon-btn:hover{background:var(--secondary);color:var(--wine)}
.hayro-popup-modal .icon-btn svg{width:18px;height:18px}
.hayro-popup-modal .modal-form-shell{display:flex;flex-direction:column;min-height:0;flex:1}
.hayro-popup-modal .modal-body{padding:20px;overflow-y:auto;flex:1}
.hayro-popup-modal .modal-foot{display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:14px 20px;border-top:1px solid var(--border);background:var(--secondary)}
.hayro-popup-modal .modal-foot .action-push{margin-left:auto}
.hayro-popup-modal .modal-foot.modal-foot-actions-right{justify-content:flex-end}
.hayro-popup-modal .modal-foot.modal-foot-actions-right .btn{flex:0 0 auto}
.hayro-popup-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hayro-popup-modal .field{margin:0}
.hayro-popup-modal .field-full{grid-column:1 / -1}
.hayro-popup-modal .field-label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:6px;font-weight:500}
.hayro-popup-modal .form-control,.hayro-popup-modal input[type="text"],.hayro-popup-modal input[type="email"],.hayro-popup-modal input[type="tel"],.hayro-popup-modal input[type="number"],.hayro-popup-modal input[type="password"],.hayro-popup-modal select,.hayro-popup-modal textarea{width:100%;padding:10px 13px;font-size:.9rem;font-family:inherit;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}
.hayro-popup-modal .form-control:focus,.hayro-popup-modal input:focus,.hayro-popup-modal select:focus,.hayro-popup-modal textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(123,30,58,.12);outline:none}
.hayro-popup-modal textarea{resize:vertical;min-height:96px}
.hayro-popup-modal select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%237B1E3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 13px center;padding-right:36px}
.hayro-popup-modal input[type="file"]{padding:9px 12px}
.hayro-popup-modal .choice-group{display:flex;flex-direction:column;gap:8px}
.hayro-popup-modal .choice-group.inline{flex-direction:row;flex-wrap:wrap;gap:8px 14px}
.hayro-popup-modal .choice-group-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}
.hayro-popup-modal .choice{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:.9rem;color:var(--text);user-select:none}
.hayro-popup-modal .choice input[type="radio"],.hayro-popup-modal .choice input[type="checkbox"]{appearance:none;-webkit-appearance:none;margin:0;width:18px;height:18px;border:1.5px solid var(--border);background:#fff;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:border-color .15s,background .15s}
.hayro-popup-modal .choice input[type="radio"]{border-radius:50%}
.hayro-popup-modal .choice input[type="checkbox"]{border-radius:5px}
.hayro-popup-modal .choice input:hover{border-color:var(--wine)}
.hayro-popup-modal .choice input:checked{background:var(--wine);border-color:var(--wine)}
.hayro-popup-modal .choice input[type="radio"]:checked::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.hayro-popup-modal .choice input[type="checkbox"]:checked::after{content:"";width:12px;height:12px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'><path d='M3 8l3.5 3.5L13 5' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat}
.hayro-popup-modal .choice input:focus-visible{outline:2px solid var(--wine);outline-offset:2px}
.hayro-popup-modal .file-current{display:grid;gap:8px;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:#fff}
.hayro-popup-modal .file-current-link{display:block;color:var(--wine);font-size:.78rem;font-weight:600;line-height:1.35;word-break:break-word}
.hayro-popup-modal .file-current-link:hover{text-decoration:underline}
.hayro-popup-modal .file-current-image{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px}
.hayro-popup-modal .file-current-image img{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:var(--secondary)}
.hayro-popup-modal .file-clear{display:inline-flex;align-items:center;gap:7px;width:max-content;color:var(--muted);font-size:.78rem;font-weight:500;cursor:pointer}
.hayro-popup-modal .file-clear input{width:14px;height:14px;margin:0;accent-color:var(--wine)}
@keyframes hayroFadeIn{from{opacity:0}to{opacity:1}}
@keyframes hayroModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.timetracker-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.timetracker-layout-full{grid-template-columns:minmax(0,1fr)}
.timetracker-calendar-shell{padding:20px}
.timetracker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.timetracker-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.timetracker-title-wrap{display:flex;flex-direction:column;gap:2px}
.timetracker-title-wrap .small{text-transform:uppercase;letter-spacing:.04em}
.timetracker-page .page-header{margin:0;padding:0;color:var(--text);font-size:1.2rem;font-weight:700}
.timetracker-view-switch{display:flex;flex-wrap:wrap;gap:8px}
.timetracker-page .tab-style{background:#fff;border:1px solid var(--border);color:var(--muted);box-shadow:none}
.timetracker-page .tab-style.active{background:var(--wine);border-color:var(--wine);color:#fff}
.timetracker-page .tab-style:hover{background:var(--secondary);color:var(--text)}
.timetracker-page .tab-style.active:hover{background:var(--wine);color:#fff}
.timetracker-calendar-card{background:#fff;overflow:hidden;padding:12px}
.timetracker-summary-card{display:grid;gap:18px}
.timetracker-switch-row{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.timetracker-total-row{margin-bottom:0;padding:0;border-top:0}
.timetracker-side .full-width{width:100%}
.timetracker-admin-tools{padding-top:4px;border-top:1px solid var(--border)}
.timetracker-admin-tools .row{margin:0}
.timetracker-admin-tools .form-group{margin-bottom:12px}
.timetracker-admin-tools .select2-container{width:100%!important}
.timetracker-side-actions,.timetracker-side-links{display:grid;gap:10px}
.timetracker-side-links .btn{justify-content:flex-start}
.timetracker-page .export-pdf{margin-bottom:0!important;height:auto}
.timetracker-page #calendar{font-size:.88rem}
.timetracker-page .cal-row-head [class*="cal-cell"]:first-child,
.timetracker-page .cal-row-head [class*="cal-cell"]{background:var(--secondary);color:var(--muted);border:0;padding:10px 0;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.timetracker-page .cal-row-head [class*="cal-cell"] small{font-size:.74rem}
.timetracker-page .cal-row-head,
.timetracker-page .cal-month-box .cal-row-fluid{display:flex;flex-wrap:nowrap}
.timetracker-page .cal-row-head > [class*="cal-cell"],
.timetracker-page .cal-month-box .cal-row-fluid > [class*="cal-cell"]{float:none;flex:0 0 calc(100% / 7);max-width:calc(100% / 7);width:calc(100% / 7)}
.timetracker-page .cal-month-box,.timetracker-page .cal-year-box,.timetracker-page .cal-week-box{border:1px solid var(--border);overflow:hidden;background:#fff}
.timetracker-page .cal-year-box [class*="span"],.timetracker-page .cal-month-box [class*="cal-cell"]{border-right:1px solid var(--border)}
.timetracker-page .cal-year-box .row-fluid,.timetracker-page .cal-month-box .cal-row-fluid{border-bottom:1px solid var(--border)}
.timetracker-page .cal-year-box .row-fluid:hover,.timetracker-page .cal-month-box .cal-row-fluid:hover{background:transparent}
.timetracker-page .cal-month-day{height:120px;background:#fff}
.timetracker-page .cal-month-day.has-event-list{cursor:pointer}
.timetracker-page .cal-month-day.has-event-list:hover{background:rgba(123,30,58,.03)}
.timetracker-page [class*="cal-cell"]:hover{background:#fbf6f8}
.timetracker-page span[data-cal-date]{margin-top:10px;margin-right:12px;font-size:1.05rem;font-weight:700;opacity:1;color:var(--text)}
.timetracker-page .cal-day-outmonth span[data-cal-date]{opacity:.28}
.timetracker-page .cal-day-today{background:rgba(123,30,58,.06)}
.timetracker-page .cal-day-today span[data-cal-date]{color:var(--wine)}
.timetracker-page .cal-day-weekend span[data-cal-date]{color:var(--wine)}
.timetracker-page .cal-day-holiday span[data-cal-date]{color:var(--gold)}
.timetracker-page .event,.timetracker-page .event-block{background-color:var(--gold);border-color:var(--gold)}
.timetracker-page .event-important{background-color:var(--success);border-color:var(--success)}
.timetracker-page .event-info{background-color:#4d86c9;border-color:#4d86c9}
.timetracker-page .event-warning{background-color:var(--gold);border-color:var(--gold)}
.timetracker-page .event-inverse{background-color:var(--text);border-color:var(--text)}
.timetracker-page .event-success{background-color:var(--success);border-color:var(--success)}
.timetracker-page .event-special{background-color:var(--wine);border-color:var(--wine)}
.timetracker-page .no-user{background-color:var(--wine);border-color:var(--wine)}
.timetracker-page .by-admin{background-color:#f0c75e;border-color:#f0c75e}
.timetracker-page .blue{background-color:#5877c8;border-color:#5877c8}
.timetracker-page .day-highlight,.timetracker-page .day-highlight:hover{background-color:#f6ecef}
.timetracker-page .day-highlight.dh-event-important,.timetracker-page .day-highlight.dh-event-important:hover{background-color:rgba(74,158,117,.12)}
.timetracker-page .day-highlight.dh-event-warning,.timetracker-page .day-highlight.dh-event-warning:hover{background-color:rgba(184,125,58,.14)}
.timetracker-page .day-highlight.dh-event-info,.timetracker-page .day-highlight.dh-event-info:hover{background-color:rgba(77,134,201,.12)}
.timetracker-page .day-highlight.dh-event-special,.timetracker-page .day-highlight.dh-event-special:hover{background-color:rgba(123,30,58,.1)}
.timetracker-page #cal-week-box{border:1px solid var(--border);border-right:0;border-radius:8px 0 0 8px;background:#fff}
.timetracker-page #cal-slide-box{border-top:0}
.timetracker-page #cal-slide-tick{width:0!important;height:0!important;margin-left:-9px;top:-10px;background:none!important;background-image:none!important;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:10px solid #fff7fa;filter:drop-shadow(0 -1px 0 var(--border));font-size:0;line-height:0;overflow:hidden}
.timetracker-page #cal-slide-content{background:#fff7fa!important;background-color:#fff7fa!important;background-image:none!important;color:var(--text)!important;border:1px solid var(--border);border-top:0;border-radius:0 0 10px 10px;box-shadow:0 10px 28px rgba(60,20,35,.08);padding:22px 28px}
.timetracker-page #cal-slide-content:hover{background:#fff7fa!important;background-color:#fff7fa!important;background-image:none!important}
.timetracker-page #cal-slide-content h6{color:var(--wine);font-size:.95rem;font-weight:700;margin:12px 0 10px}
.timetracker-page #cal-slide-content ul{margin:0;padding-left:18px}
.timetracker-page #cal-slide-content li{color:var(--text);font-size:.92rem;line-height:1.55;margin:4px 0}
.timetracker-page #cal-slide-content .list-view li:before{color:rgba(123,30,58,.72)}
.timetracker-page #cal-slide-content a,.timetracker-page #cal-slide-content .hyperlink,.timetracker-page #cal-slide-content a.event-item{color:var(--wine);font-weight:700;text-decoration:none}
.timetracker-page #cal-slide-content a:hover,.timetracker-page #cal-slide-content .hyperlink:hover{text-decoration:underline}
.timetracker-page #cal-slide-box .cal-close-btn{top:12px;right:16px;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);font-size:1.15rem;display:flex;align-items:center;justify-content:center;z-index:3}
.timetracker-page #cal-slide-box .cal-close-btn:hover{background:var(--secondary);color:var(--wine)}
.timetracker-page .events-list{max-height:58px;padding:6px 8px}
.timetracker-page .modal-backdrop.show{opacity:.48;background:rgba(40,15,25,.85)}
.timetracker-page .modal-dialog{max-width:760px;margin:28px auto}
.timetracker-page #inviteUser .modal-dialog,.timetracker-page #userAvailability .modal-dialog{max-width:560px}
.timetracker-page .modal-content{border-radius:14px;border:1px solid var(--border);box-shadow:0 24px 60px rgba(60,20,30,.25);background:#fff}
.timetracker-page .modal-body{padding:0}
.timetracker-page .tracker-modal{padding:0}
.timetracker-page .tracker{padding:0 20px 20px}
.timetracker-page .tracker > .detail-side-heads{margin:0 -20px 16px!important}
.timetracker-page .detail-side-heads{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0!important;padding:16px 52px 16px 20px;border-bottom:1px solid var(--border);background:#fff;border-radius:14px 14px 0 0}
.timetracker-page .detail-side-heads h3{font-size:1.05rem;color:var(--text);font-weight:600;margin:0}
.timetracker-page .detail-side-heads p{display:none}
.timetracker-page .mod-close{position:absolute;top:14px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--muted);z-index:5;cursor:pointer}
.timetracker-page .mod-close i{font-size:1rem;line-height:1}
.timetracker-page .mod-close:hover{background:var(--secondary);color:var(--wine)}
.timetracker-page .tracker .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;border-bottom:0;margin:0}
.timetracker-page .tracker .row + .row{margin-top:16px}
.timetracker-page .tracker [class*="col-"],.timetracker-page .tracker .col-xs-12,.timetracker-page .tracker .col-lg-12{width:auto;max-width:none;padding:0;grid-column:auto}
.timetracker-page .tracker .col-12,.timetracker-page .tracker .col-xs-12,.timetracker-page .tracker .col-lg-12,.timetracker-page .tracker .addTracker,.timetracker-page .tracker .editTracker{grid-column:1 / -1}
.timetracker-page .tracker .form-group{margin:0}
.timetracker-page .tracker label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:6px;font-weight:500}
.timetracker-page .tracker input[type="text"],.timetracker-page .tracker input[type="email"],.timetracker-page .tracker input[type="number"],.timetracker-page .tracker select,.timetracker-page .tracker textarea,.timetracker-page .tracker .select2-container .select2-selection--single{width:100%;min-height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font-size:.9rem;box-shadow:none}
.timetracker-page .tracker input[type="text"],.timetracker-page .tracker input[type="email"],.timetracker-page .tracker input[type="number"],.timetracker-page .tracker select,.timetracker-page .tracker textarea{padding:10px 13px}
.timetracker-page .tracker textarea{min-height:96px;resize:vertical}
.timetracker-page .tracker input:focus,.timetracker-page .tracker select:focus,.timetracker-page .tracker textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(123,30,58,.12);outline:none}
.timetracker-page .tracker input[type="checkbox"]{width:16px;height:16px;margin:0;accent-color:var(--wine)}
.timetracker-page .tracker input[type="checkbox"] + label,.timetracker-page .tracker .form-check-label{display:inline-flex;align-items:center;margin:0 0 0 8px;color:var(--text);font-size:.86rem;font-weight:600}
.timetracker-page .tracker h4{font-size:.95rem;font-weight:700;margin:4px 0 2px;color:var(--text)}
.timetracker-page .tracker i small{display:block;color:var(--muted);font-style:normal;margin-bottom:4px}
.timetracker-page .tracker .alert{border-radius:10px;border:1px solid var(--border);font-size:.86rem;padding:10px 12px;margin:16px 0 0}
.timetracker-page .tracker .alert-error{background:var(--wine-bg);border-color:rgba(123,30,58,.22);color:var(--wine)}
.timetracker-page .tracker .alert-success{background:var(--success-bg);border-color:rgba(74,158,117,.25);color:var(--success)}
.timetracker-page .tracker ._error{display:block;color:var(--wine)!important;font-size:.78rem;margin-top:6px}
.timetracker-page .modal-foot,.timetracker-page .tracker .d-grid{display:flex!important;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.timetracker-page .modal-foot .btn,.timetracker-page .tracker .d-grid .btn{border-radius:8px;font-weight:700}
.timetracker-page .tracker .btn-primary,.timetracker-page .modal-foot .btn-primary{background:var(--wine);border-color:var(--wine);color:#fff}
.timetracker-page .tracker .btn-primary:hover,.timetracker-page .modal-foot .btn-primary:hover{background:var(--wine-dark);border-color:var(--wine-dark)}
.timetracker-page .tracker .btn-light,.timetracker-page .tracker .btn-default,.timetracker-page .modal-foot .btn-default{background:#fff;border:1px solid var(--border);color:var(--text)}
.timetracker-page .tracker .btn-light:hover,.timetracker-page .tracker .btn-default:hover,.timetracker-page .modal-foot .btn-default:hover{background:var(--secondary)}
.timetracker-page .tracker .btn-outline-danger{border-color:rgba(123,30,58,.25);color:var(--wine);background:#fff}
.timetracker-page .tracker .btn-danger{background:var(--wine);border-color:var(--wine)}
.timetracker-page .tracker .btn-outline-danger:hover{background:var(--wine);color:#fff}
.timetracker-page .tracker .ms-auto{margin-left:auto!important}
.timetracker-page .tracker .aj-loader,.timetracker-page .tracker button img{width:18px;height:18px}
@media(max-width:760px){
  .sidebar{display:none}
  .main{padding:24px 18px}
  .hero h1{font-size:2rem}
  .hero{padding:64px 0 80px}
  .nav-links{display:none}
  footer .container{align-items:flex-start;flex-direction:column}
  .hayro-filter-card .filter-field,.filters select,.filters input{width:100%}
  .hayro-filter-card .btn{width:100%}
  .table-tools-row{grid-template-columns:1fr;align-items:flex-start}
  .table-tools,.table-tool-field{width:100%}
  .consultant-filter-bar{grid-template-columns:1fr}
  .consultant-filter-actions{justify-content:stretch}
  .consultant-advanced-head{align-items:flex-start}
  .hayro-form-grid{grid-template-columns:1fr}
  .hayro-popup-modal{padding:0;align-items:flex-end}
  .hayro-popup-modal .modal-dialog{max-width:100%;max-height:95vh;border-radius:14px 14px 0 0}
  .hayro-popup-form-grid{grid-template-columns:1fr}
  .hayro-popup-modal .choice-group-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hayro-popup-modal .modal-foot{justify-content:stretch}
  .hayro-popup-modal .modal-foot .btn{flex:1}
  .hayro-popup-modal .modal-foot .action-push{margin-left:0;flex-basis:100%}
  .hayro-popup-modal .modal-foot.modal-foot-actions-right{justify-content:flex-end}
  .hayro-popup-modal .modal-foot.modal-foot-actions-right .btn{flex:0 0 auto}
  .timetracker-layout{grid-template-columns:1fr}
  .timetracker-toolbar{align-items:flex-start}
  .timetracker-nav,.timetracker-view-switch{width:100%}
  .timetracker-view-switch .btn{flex:1}
  .timetracker-switch-row{justify-content:flex-start}
  .timetracker-page .cal-month-day{height:96px}
  .tbl-wrap{overflow-x:auto}
}
