:root{--bg:#f6f1e8;--ink:#1c1a16;--muted:#615a4b;--accent:#1f6f7a;--accent-soft:#d5ebe7;--card:#fff7ed;--stroke:#c9b9a2;--shadow:0 18px 40px #211a132e;font-family:"Source Sans 3",sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);min-height:100vh;margin:0}h1,h2,h3,aside .brand span{font-family:Space Grotesk,sans-serif}.login-screen{background:radial-gradient(circle at top left, #fff0d9, transparent 45%), radial-gradient(circle at bottom right, #d7ebe8, transparent 50%), var(--bg);justify-content:center;align-items:center;min-height:100svh;padding:2rem 1rem;display:flex}.login-card{background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:24px;padding:2rem}.login-card-main{text-align:center;flex-direction:column;justify-content:center;align-items:stretch;gap:1rem;width:min(100%,440px);display:flex}.login-action-block{justify-content:center;min-height:44px;display:flex}.login-action-block>button{justify-content:center;width:100%}#tg-login{justify-content:center;width:100%;display:flex}#tg-login iframe{max-width:100%}.login-hint{color:var(--muted);font-size:.92rem;line-height:1.4}.login-card-check{width:min(100%,460px);max-width:460px}.app-shell{background:var(--bg);grid-template-columns:260px 1fr;min-width:0;min-height:100vh;display:grid}.app-shell-mobile{display:block}.sidebar{color:#f5eee4;background:#1d1b18;flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;display:flex}.brand span{font-size:1.4rem;font-weight:700;display:block}.brand-logo{width:44px;height:44px;margin-bottom:.6rem;display:block}.brand small{color:#b6aa98}.login-logo{width:72px;height:72px;margin:0 auto .25rem;display:block}.login-card h1{margin:0;line-height:1.15}nav{gap:.75rem;display:grid}.language-switch{color:#d7cbb7;gap:.4rem;font-size:.85rem;display:grid}.language-switch select{color:#f5eee4;background:#ffffff14;border:1px solid #5c5446}.login-card .language-switch{color:var(--muted);text-align:left;margin:0}.login-card .language-switch select{color:var(--ink);border:1px solid var(--stroke);background:#fff}nav button{color:#f5eee4;text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #0000;border-radius:14px;padding:.7rem 1rem;transition:all .2s}nav button.active,nav button:hover{background:var(--accent);border-color:#ffffff4d}.signout{color:#d7cbb7;cursor:pointer;background:0 0;border:1px solid #5c5446;border-radius:12px;margin-top:auto;padding:.6rem 1rem}.content{width:min(100%,1560px);min-width:0;margin:0 auto;padding:2.5rem 3rem}.content-mobile{width:min(100%,760px);padding:1.4rem 1rem calc(7rem + env(safe-area-inset-bottom))}header h2{margin-bottom:1rem;font-size:2rem}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.cards div{background:var(--card);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:20px;padding:1.5rem}.cards span{color:var(--accent);font-size:2.3rem;font-weight:700}table{border-collapse:separate;border-spacing:0;border:1px solid var(--stroke);background:#fffdf8;border-radius:14px;width:100%;margin-top:1rem;overflow:hidden}.table-scroll{width:100%;overflow-x:auto}.data-table-shell{border:1px solid var(--stroke);background:#fffdf8;border-radius:14px;width:100%;margin-top:1rem;overflow-x:auto;box-shadow:0 10px 26px #211a1314}.data-table{min-width:720px;box-shadow:none;border:0;border-radius:0;margin-top:0}.bookings-table{min-width:920px}.bookings-table th,.bookings-table td{word-break:normal;overflow-wrap:normal}.bookings-table th:first-child,.bookings-table td:first-child{width:18%}.bookings-table th:nth-child(2),.bookings-table td:nth-child(2),.bookings-table th:nth-child(3),.bookings-table td:nth-child(3),.bookings-table th:nth-child(4),.bookings-table td:nth-child(4){width:11%}.bookings-table th:nth-child(5),.bookings-table td:nth-child(5),.bookings-table th:nth-child(6),.bookings-table td:nth-child(6){width:14%}.data-table tbody tr{background:#fffdf8}.data-table tbody tr:nth-child(2n),.data-table tbody tr:nth-child(2n) td{background:#fff8ef}th,td{text-align:left;border-bottom:1px solid var(--stroke);vertical-align:top;word-break:break-word;padding:.8rem}th{color:var(--muted);background:#f2e6d7;font-weight:600}td{background:#fffdf8f5}td small{color:var(--muted);margin-top:.3rem;line-height:1.3;display:block}.table-actions{flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:.45rem;display:flex}.data-table td:last-child{vertical-align:middle}.data-table td>button,.table-actions button{width:auto;min-width:8rem;min-height:2.65rem;padding-inline:.7rem}.table-actions .compact-action{min-width:0}.row-action-menu{gap:.35rem;width:100%;max-width:12rem;margin-left:auto;display:grid}.row-action-trigger,.row-action-item{align-items:center;width:100%;min-width:0;min-height:2.5rem;display:inline-flex}.table-actions .row-action-trigger,.table-actions .row-action-item{width:100%;min-width:0}.row-action-trigger{justify-content:center;gap:.4rem}.row-action-list{border:1px solid var(--stroke);background:#fffdf8;border-radius:12px;gap:.3rem;padding:.35rem;display:grid;box-shadow:0 14px 28px #211a131f}.row-action-item{text-align:left;color:var(--ink);box-shadow:none;background:#fffdf8;border:1px solid #0000;justify-content:flex-start}.row-action-item:hover:not(:disabled){background:var(--accent-soft)}.row-action-item-danger{color:#8a2e22;background:#fff6ef;border-color:#e8b5a4}.table-controls{align-items:stretch}.section-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.section-toolbar h3{margin:0}.primary-action{flex:none;min-width:10rem}.compact-action{min-width:0}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:center;gap:.8rem;margin-top:1.5rem;display:grid}.form-row>*{min-width:0}.form-row input,.form-row select,.form-row button{width:100%;min-width:0}input,select,button{border:1px solid var(--stroke);background:#fff;border-radius:10px;padding:.6rem .8rem;font-family:inherit}button{background:var(--accent);color:#fff;cursor:pointer;border:none}.datetime-field{width:100%;min-width:0}.datetime-trigger{width:100%;min-height:3.65rem;color:var(--ink);border:1px solid var(--stroke);text-align:left;background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.15rem;display:flex}.datetime-trigger-label{color:var(--muted);font-size:.82rem}.datetime-trigger-value{font-weight:600}.datetime-desktop-group{border:1px solid var(--stroke);background:#ffffffc7;border-radius:18px;gap:.55rem;width:100%;padding:.95rem 1rem;display:grid}.datetime-desktop-label{font-weight:600}.datetime-desktop-inputs{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;display:grid}.datetime-part{gap:.35rem;display:grid}.datetime-part span{color:var(--muted);font-size:.82rem}.datetime-part input{width:100%}@media (width>=901px){.form-row>.datetime-desktop-group,.form-row>.datetime-field{grid-column:span 2}.datetime-desktop-inputs{grid-template-columns:minmax(2.2rem,.8fr) minmax(2.6rem,.9fr) minmax(3.4rem,1.1fr) minmax(2.2rem,.8fr) minmax(2.8rem,.9fr);gap:.45rem}.datetime-part span{white-space:nowrap;font-size:.76rem}}@media (width>=901px) and (width<=1100px){.form-row>.datetime-desktop-group,.form-row>.datetime-field{grid-column:1/-1}}.datetime-desktop-preview{color:var(--ink);font-size:.92rem}.datetime-desktop-preview.muted{color:var(--muted)}.time-field-group{border:1px solid var(--stroke);background:#fff;border-radius:18px;gap:.55rem;width:100%;padding:.95rem 1rem;display:grid}.time-field-label{font-weight:600}.time-field-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.time-part{gap:.35rem;display:grid}.time-part span{color:var(--muted);font-size:.82rem}.time-part input,.time-part select{width:100%}.time-field-note{color:var(--muted);font-size:.82rem}.datetime-calendar{gap:.85rem;margin-top:1rem;display:grid}.datetime-calendar-header{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.datetime-calendar-header .button-secondary{min-width:3rem;padding-inline:.9rem;font-size:1rem;font-weight:700}.datetime-calendar-month{text-align:center;text-transform:capitalize;font-family:Space Grotesk,sans-serif;font-size:1.05rem}.datetime-calendar-weekdays{color:var(--muted);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;font-size:.8rem;display:grid}.datetime-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.datetime-day-button{aspect-ratio:1;border:1px solid var(--stroke);min-height:2.7rem;color:var(--ink);background:#fff;border-radius:14px;padding:.35rem;font-weight:600}.datetime-day-button.today:not(.active){border-color:var(--accent);box-shadow:inset 0 0 0 1px #1f6f7a40}.datetime-day-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.datetime-day-placeholder{aspect-ratio:1;display:block}.datetime-mobile-time{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem;display:grid}button:disabled{opacity:.6;cursor:not-allowed}.toggle{color:var(--muted);justify-content:flex-start;align-items:center;gap:.4rem;display:flex}.toggle input[type=checkbox]{flex:none;width:auto;min-width:0}.filters{flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;display:flex}.filters input,.filters button{border:1px solid var(--stroke);border-radius:10px;min-width:0;padding:.6rem .8rem}.filters input{flex:10rem}.filters button{flex:none}.imports a,.link-button{color:var(--accent);margin-top:.6rem;display:block}.link-button{border:1px solid var(--stroke);text-align:left;background:#fff;width:100%}.import-preview{border:1px solid var(--stroke);background:var(--card);color:var(--muted);border-radius:14px;margin-top:1rem;padding:1rem}.error{color:#7a2d1e;background:#ffe4d9;border:1px solid #f1bda8;border-radius:12px;margin-top:1rem;padding:.8rem 1rem}.permissions-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem;margin-top:.8rem;display:grid}.permission-item{border:1px solid var(--stroke);background:#fff;border-radius:12px;align-items:flex-start;gap:.6rem;min-width:0;padding:.7rem;display:flex}.permission-item>div{min-width:0}.permission-item small{color:var(--muted);overflow-wrap:anywhere;margin-top:.2rem;display:block}.permission-title{overflow-wrap:anywhere;font-weight:600}.personnel-table{table-layout:fixed;width:100%;min-width:0;margin-top:0}.personnel-table-shell{background:#fffdf8}.personnel-table th,.personnel-table td{border-bottom:1px solid var(--stroke);overflow-wrap:anywhere;padding:.55rem}.personnel-table th{overflow-wrap:normal;word-break:normal}.personnel-table td{vertical-align:middle;background:#fffdf8;min-width:0}.personnel-table tbody tr:nth-child(2n),.personnel-table tbody tr:nth-child(2n) td{background:#fffdf8}.personnel-table td:before{display:none}.personnel-table th:first-child,.personnel-cell-name{width:10%}.personnel-table th:nth-child(2),.personnel-cell-tg{width:11%}.personnel-table th:nth-child(3),.personnel-cell-phone{width:12%}.personnel-table th:nth-child(4),.personnel-cell-status{width:11%}.personnel-table th:nth-child(5),.personnel-cell-roles{width:21%}.personnel-table th:nth-child(6),.personnel-cell-percent{width:8%}.personnel-table th:nth-child(7),.personnel-cell-invite{word-break:normal;width:13%}.personnel-table th:nth-child(8),.personnel-cell-actions{width:14%}.personnel-cell-status>input{margin-top:.45rem}.personnel-table input,.personnel-table select,.personnel-table button{padding-inline:.65rem;font-size:.9rem}.personnel-role-list button{border-radius:999px;width:auto;padding:.42rem .65rem;line-height:1.2}.personnel-role-chip{background:var(--accent);color:#fff;border-radius:999px;align-items:center;min-height:2rem;padding:.35rem .65rem;line-height:1.2;display:inline-flex}.personnel-table td>input,.personnel-table td>select,.personnel-invite-stack button,.personnel-actions-stack button{width:100%;min-width:0;min-height:2.45rem}.personnel-role-stack,.personnel-invite-stack,.personnel-actions-stack{flex-direction:column;align-items:stretch;gap:.45rem;display:flex}.personnel-role-list{flex-wrap:wrap;gap:.45rem;display:flex}.personnel-invite-stack button,.personnel-actions-stack button{white-space:normal;min-width:0;line-height:1.25}@media (width<=900px){.data-table-shell{padding:.75rem;overflow-x:visible}.data-table:not(.personnel-table){background:0 0;border:0;min-width:0;display:block}.data-table:not(.personnel-table) thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.data-table:not(.personnel-table) tbody{gap:.75rem;display:grid}.data-table:not(.personnel-table) tr{border:1px solid var(--stroke);background:#fffdf8;border-radius:14px;gap:.65rem;padding:.85rem;display:grid;box-shadow:0 8px 20px #211a130f}.data-table:not(.personnel-table) td{word-break:normal;overflow-wrap:anywhere;background:#fffdf8;border-bottom:0;grid-template-columns:minmax(6.5rem,.42fr) minmax(0,1fr);align-items:start;gap:.6rem;width:100%;padding:0;display:grid}.data-table:not(.personnel-table) tbody tr:nth-child(2n),.data-table:not(.personnel-table) tbody tr:nth-child(2n) td{background:#fffdf8}.data-table:not(.personnel-table) td:before{content:attr(data-label);color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.2}.data-table:not(.personnel-table) .table-actions{grid-template-columns:1fr;width:100%;display:grid}.data-table:not(.personnel-table) .table-actions button,.data-table:not(.personnel-table) td>button{width:100%;min-width:0}}@media (width>=901px) and (width<=1260px){.personnel-table{background:0 0;border:0;min-width:0;display:block}.personnel-table-shell{padding:.75rem}.personnel-table thead{display:none}.personnel-table tbody{gap:.9rem;display:grid}.personnel-row{border:1px solid var(--stroke);background:#fffdf8;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));align-items:start;gap:.75rem;padding:1rem;display:grid;box-shadow:0 10px 24px #211a1314}.personnel-table tbody tr.personnel-row,.personnel-table tbody tr.personnel-row:nth-child(2n){background:#fffdf8}.personnel-table td{background:0 0;border-bottom:0;width:100%;padding:0;display:block}.personnel-table tbody tr:nth-child(2n) td{background:0 0}.personnel-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600;line-height:1.2;display:block}.personnel-cell-roles{grid-column:span 2}.personnel-actions-stack{flex-direction:column;align-items:stretch;display:flex}.personnel-actions-stack .row-action-menu{max-width:none}}@media (width<=900px){.personnel-table{background:0 0;min-width:0;display:block}.personnel-table-shell{padding:.75rem}.personnel-table thead{display:none}.personnel-table tbody{gap:.9rem;display:grid}.personnel-row{border:1px solid var(--stroke);background:#fffdf8;border-radius:14px;grid-template-columns:1fr;grid-template-areas:"name""tg""phone""status""roles""percent""invite""actions";gap:.75rem;padding:1rem;display:grid;box-shadow:0 10px 24px #211a1314}.personnel-table tbody tr.personnel-row,.personnel-table tbody tr.personnel-row:nth-child(2n){background:#fffdf8}.personnel-table td{background:0 0;border-bottom:0;width:100%;padding:0;display:block}.personnel-table tbody tr:nth-child(2n) td{background:0 0}.personnel-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:.35rem;font-size:.78rem;font-weight:600;line-height:1.2;display:block}.personnel-cell-name{grid-area:name}.personnel-cell-tg{grid-area:tg}.personnel-cell-phone{grid-area:phone}.personnel-cell-status{grid-area:status}.personnel-cell-roles{grid-area:roles}.personnel-cell-percent{grid-area:percent}.personnel-cell-invite{grid-area:invite}.personnel-cell-actions{grid-area:actions}.personnel-actions-stack{flex-direction:column;align-items:stretch;display:flex}.personnel-actions-stack .row-action-menu{max-width:none}}@media (width>=1261px) and (width<=1700px){.personnel-table{table-layout:fixed;background:#fffdf8;border:0;width:100%;min-width:0;display:table}.personnel-table-shell{padding:0;overflow-x:auto}.personnel-table thead{clip:auto;white-space:normal;width:auto;height:auto;display:table-header-group;position:static;overflow:visible}.personnel-table tbody{display:table-row-group}.personnel-row{box-shadow:none;border:0;border-radius:0;padding:0;display:table-row}.personnel-table td{border-bottom:1px solid var(--stroke);background:#fffdf8;width:auto;padding:.55rem;display:table-cell}.personnel-table tbody tr:nth-child(2n) td{background:#fffdf8}.personnel-table td:before{content:none;display:none}.personnel-cell-roles{grid-column:auto}.personnel-actions-stack{display:flex}}.modal-backdrop{z-index:1000;background:#17151173;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--card);border:1px solid var(--stroke);width:min(920px,100%);max-height:85vh;box-shadow:var(--shadow);border-radius:18px;padding:1.2rem;overflow:auto}.modal-description{color:var(--muted);margin-top:.4rem}.modal-fields{align-items:flex-start}.modal-field{flex-direction:column;gap:.35rem;display:flex}.modal-field span{color:var(--muted);font-size:.9rem}.modal-note{color:var(--muted);margin-top:.6rem;display:block}.modal-section{gap:.7rem;margin-top:1rem;display:grid}.datetime-modal-card{width:min(520px,100%)}.datetime-modal-description{margin-bottom:0}.datetime-modal-fields{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.8rem;margin-top:1rem;display:flex}.modal-actions button{min-width:min(100%,9rem)}.button-secondary{color:var(--ink);border:1px solid var(--stroke);background:#fff}.mobile-shell-header{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f1e8f0;border-bottom:1px solid #c9b9a2bf;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:1rem;display:flex;position:sticky;top:0}.mobile-brand{align-items:center;gap:.8rem;min-width:0;display:flex}.mobile-brand .brand-logo{flex-shrink:0;margin-bottom:0}.mobile-brand span{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;display:block}.mobile-brand small{color:var(--muted)}.mobile-active-pill{max-width:48%;color:var(--accent);text-align:right;background:#1f6f7a1f;border:1px solid #1f6f7a33;border-radius:999px;flex-shrink:0;padding:.45rem .85rem;font-size:.82rem;font-weight:600}.mobile-sheet-backdrop{place-items:end center}.mobile-sheet{border-radius:26px 26px 20px 20px;width:min(560px,100%);max-height:min(82vh,720px)}.mobile-sheet-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mobile-sheet-header h3{margin:0}.mobile-menu-sheet{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.mobile-menu-section{gap:.65rem;margin-top:1rem;display:grid}.mobile-menu-section-label{color:var(--muted);font-size:.82rem}.mobile-menu-list{gap:.6rem;display:grid}.mobile-menu-list button{text-align:left;border:1px solid var(--stroke);color:var(--ink);background:#fff;border-radius:14px;padding:.9rem 1rem}.mobile-menu-list button.active{background:var(--accent-soft);border-color:#1f6f7a73}.mobile-menu-field{gap:.35rem;display:grid}.mobile-menu-field span{color:var(--muted);font-size:.88rem}.mobile-menu-actions{margin-top:1rem}.mobile-menu-signout{width:100%;color:var(--ink);border:1px solid var(--stroke);background:0 0;margin-top:0}.mobile-bottom-nav{z-index:70;padding:.75rem max(.75rem, env(safe-area-inset-left)) calc(.75rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1d1b18f5;border-top:1px solid #5c5446e6;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{color:#f5eee4;text-align:center;background:#ffffff14;border:1px solid #0000;border-radius:16px;min-height:3.7rem;padding:.5rem .35rem;font-size:.8rem;line-height:1.15}.mobile-bottom-nav button.active{background:var(--accent);border-color:#ffffff3d}@media (width<=900px){.app-shell{grid-template-columns:1fr}.content{padding:2rem}.content-mobile{padding:1.2rem 1rem calc(7rem + env(safe-area-inset-bottom))}.form-row{grid-template-columns:1fr}.section-toolbar{flex-direction:column;align-items:stretch}.primary-action{width:100%}.filters{grid-template-columns:1fr;display:grid}.filters input,.filters select,.filters button{width:100%}.modal-actions{justify-content:stretch}.modal-actions button{flex:100%}.permissions-grid{grid-template-columns:1fr}.datetime-calendar-header{grid-template-columns:2.75rem 1fr 2.75rem}.datetime-mobile-time,.time-field-inputs{grid-template-columns:1fr}.mobile-active-pill{max-width:45%}.mobile-bottom-nav button{font-size:.76rem}}
