@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600&display=swap";:root{font-family:DM Sans,sans-serif;color:#202722;background:#f3f0e9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{background:#17211c;color:#f7f4ec;padding:28px 18px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 35px}.brand-mark,.mobile-brand{width:42px;height:42px;border-radius:12px;background:#dcae4f;color:#17211c;display:grid;place-items:center;font-family:Fraunces;font-weight:600}.brand div:last-child{display:grid}.brand strong{font-family:Fraunces;font-size:18px}.brand span{font-size:11px;color:#9aa69f;margin-top:2px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.settings{border:0;background:transparent;color:#aeb8b2;display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;text-align:left}.sidebar nav button svg,.settings svg{width:19px}.sidebar nav button.active{background:#2a352f;color:#fff}.hours{border-top:1px solid #344039;margin:28px 10px;padding-top:22px}.hours>span,.eyebrow,.modal-title span,.drawer-head span{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#8c9891}.hours p{display:flex;justify-content:space-between;font-size:11px;color:#aeb8b2}.hours b{color:#eee9dd}.settings{margin-top:auto}main{min-width:0}header{height:95px;padding:0 32px;border-bottom:1px solid #ddd8ce;background:#f8f5ee;display:flex;align-items:center;gap:20px}header h1{font:600 28px Fraunces;margin:3px 0}.mobile-brand{display:none;border:0}.alert-btn{margin-left:auto;border:1px solid #d5d0c6;background:#fff;border-radius:9px;padding:9px 13px;display:flex;gap:8px;align-items:center;color:#526058}.alert-btn svg{width:18px}.alert-btn.has-alerts{color:#a64a3c;border-color:#e3b6ae;background:#fff9f7}.avatar{width:38px;height:38px;background:#35453c;color:#fff;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700}.toolbar{padding:22px 32px 18px;display:flex;justify-content:space-between}.week-nav{display:flex;align-items:center;gap:16px}.week-nav button,.today{background:#fff;border:1px solid #d8d4ca;border-radius:8px;height:36px}.week-nav button{width:36px;display:grid;place-items:center}.week-nav svg{width:18px}.week-nav div{display:grid;min-width:190px;text-align:center}.week-nav span{font-size:11px;color:#899087}.today{padding:0 15px}.board-wrap{padding:0 32px;overflow:auto}.board{min-width:950px;background:#fff;border:1px solid #dcd7cc;border-radius:13px;overflow:hidden;display:grid;grid-template-columns:190px repeat(7,minmax(105px,1fr))}.corner,.day-head{height:65px;border-bottom:1px solid #e2ded5;background:#fbfaf7}.corner{padding:25px 18px;font-size:10px;letter-spacing:1.2px;color:#91978f}.day-head{text-align:center;border-left:1px solid #ece8e0;padding:8px}.day-head span{text-transform:uppercase;font-size:10px;color:#8b918a}.day-head b{display:block;font:600 24px Fraunces;margin-top:3px}.today-head{background:#edf2ee}.today-head b{color:#39705b}.board-row{display:contents}.employee-cell,.shift-cell{min-height:84px;border-bottom:1px solid #ece8df}.employee-cell{padding:15px;display:flex;align-items:center;gap:10px}.employee-cell i,.person-card>i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;color:#fff;flex:none}.employee-cell div{display:grid;min-width:0}.employee-cell b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-cell span{font-size:10px;color:#8b918b;margin-top:3px}.shift-cell{border-top:0;border-right:0;border-left:1px solid #ece8df;background:#fff;padding:9px 7px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:6px}.shift-cell:hover{background:#faf8f3}.shift-cell>svg{width:17px;margin:auto;color:#c8c6bf}.shift-name{border-radius:6px;padding:7px 4px;font-size:11px;font-weight:700;text-align:center}.shift-cell small{text-align:center;color:#7a817b;font-size:9px;white-space:nowrap}.shift-cell.rest .shift-name,.shift-cell.absence .shift-name,.shift-cell.leave .shift-name{font-weight:500}.legend{padding:14px 34px;display:flex;gap:20px;font-size:11px;color:#69726b;align-items:center}.legend span{display:flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%}.dot.bar{background:#e7b958}.dot.tabac{background:#75aa94}.dot.other{background:#8e8ac3}.hint{margin-left:auto}.modal-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11191499;z-index:10;display:grid;place-items:center;padding:20px}.modal{width:min(580px,100%);max-height:90vh;overflow:auto;background:#faf8f3;border-radius:15px;padding:25px;box-shadow:0 20px 60px #1118}.modal.small{width:min(430px,100%)}.modal-title,.drawer-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-title h2,.drawer-head h2{font:600 24px Fraunces;margin:5px 0}.modal-title p{margin:0;color:#788078;font-size:13px;text-transform:capitalize}.modal-title button,.drawer-head button{border:0;background:#eeece6;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.modal-title svg,.drawer-head svg{width:17px}.shift-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}.shift-picker button{background:#fff;border:1px solid #e1ddd4;border-radius:9px;text-align:left;padding:12px;display:flex;gap:10px}.shift-picker button:hover{border-color:#708c7c}.shift-picker i{width:8px;border-radius:4px}.shift-picker div{display:grid}.shift-picker b{font-size:12px}.shift-picker span{font-size:10px;color:#858c85;margin-top:3px}.drawer-backdrop{place-items:stretch end;padding:0}.drawer{width:min(410px,100%);height:100%;background:#f8f5ee;padding:28px;overflow:auto}.drawer-head{margin-bottom:24px}.drawer-head em{font:700 11px DM Sans;background:#b04c3d;color:#fff;border-radius:20px;padding:4px 8px;vertical-align:middle}.drawer article{display:flex;gap:12px;background:#fff;border:1px solid #e4dfd5;border-left:4px solid #d1a448;border-radius:9px;padding:14px;margin-bottom:10px}.drawer article.critical{border-left-color:#b64f40}.drawer article svg{width:18px;color:#b64f40;flex:none}.drawer article div{display:grid}.drawer article b{font-size:13px}.drawer article p{font-size:11px;color:#717a73;margin:5px 0}.drawer article span{font-size:10px;color:#999}.content-page{padding:28px 32px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-head h2{font:600 24px Fraunces;margin:0}.section-head p{color:#7e867f;margin:5px 0;font-size:13px}.primary{border:0;background:#315e4c;color:#fff;border-radius:8px;padding:10px 14px;display:flex;gap:7px;align-items:center}.primary svg{width:17px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.person-card{background:#fff;border:1px solid #ded9cf;border-radius:12px;padding:20px;display:flex;gap:14px}.person-card>i{width:45px;height:45px}.person-card h3{margin:1px 0 7px;font-size:15px}.person-card p{font-size:11px;color:#8a918b;margin:10px 0 0}.person-card>button{margin-left:auto;align-self:start;border:0;background:transparent}.role{font-size:10px;border-radius:20px;padding:4px 8px;background:#eee}.role.bar{background:#fae8c6}.role.tabac{background:#dceee6}.role.polyvalent{background:#e7e4f4}.shift-list{display:grid;gap:9px}.shift-list article{background:#fff;border:1px solid #ded9cf;border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:15px}.shift-list i{width:10px;height:42px;border-radius:5px}.shift-list h3{margin:0;font-size:14px}.shift-list p{margin:4px 0 0;color:#7f877f;font-size:11px}.shift-list article>span{margin-left:auto;font-size:9px;letter-spacing:1px;color:#848b84}.modal label{display:grid;gap:7px;font-size:12px;font-weight:700;margin:20px 0}.modal input,.modal select{border:1px solid #d5d0c6;background:#fff;border-radius:8px;padding:11px}.submit{width:100%;justify-content:center}.empty-state{text-align:center;padding:70px 20px;color:#748078}@media(max-width:800px){.app-shell{display:block}.sidebar{position:fixed;z-index:8;bottom:0;top:auto;width:100%;height:66px;padding:8px;background:#17211c}.brand,.hours,.settings{display:none}.sidebar nav{display:flex;justify-content:space-around}.sidebar nav button{font-size:0;display:grid;place-items:center;width:60px}.sidebar nav button svg{width:23px}main{padding-bottom:70px}header{height:78px;padding:0 16px}.mobile-brand{display:grid}header>div:nth-child(2){display:none}.alert-btn span{display:none}.toolbar{padding:16px}.today{display:none}.board-wrap{padding:0 16px}.board{min-width:820px;grid-template-columns:160px repeat(7,94px)}.legend{padding:12px 17px}.hint{display:none}.content-page{padding:20px 16px}.section-head{align-items:flex-start}.section-head p{display:none}.primary{font-size:12px}.shift-picker{grid-template-columns:1fr}}.employee-cell{background:#fff;border:0;border-bottom:1px solid #ece8df;color:inherit;text-align:left;width:100%}.shift-list article{cursor:pointer;transition:border-color .15s,box-shadow .15s}.shift-list article:hover{border-color:#8aa291;box-shadow:0 4px 14px #17211c12}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-2 label{margin-top:0}.settings.active{background:#2a352f;color:#fff}.settings-page{max-width:720px;display:grid;gap:14px}.settings-card{background:#fff;border:1px solid #ded9cf;border-radius:12px;padding:20px}.settings-card h3{margin:0 0 5px;font-size:15px}.settings-card p{margin:0 0 16px;color:#7e867f;font-size:12px}.settings-card label{display:grid;gap:7px;font-size:12px;font-weight:700;margin-top:15px}.settings-card input[type=text]{border:1px solid #d5d0c6;background:#fff;border-radius:8px;padding:11px}.settings-card .check-row{display:flex;grid-template-columns:none;align-items:center;gap:9px;font-weight:500}.settings-card input[type=checkbox]{accent-color:#315e4c}.settings-page .submit{max-width:260px}.save-confirm{color:#39705b;font-size:12px;font-weight:700}.time-delta{align-self:center;border-radius:12px;padding:3px 7px;font-size:8px;font-weight:700;background:#edf4ef}.time-delta.negative{background:#fff0dc;color:#a65c16}.time-delta.positive{background:#e4f2e9;color:#2d704d}.adjust-time-btn{width:100%;margin-top:16px;border:1px solid #bed0c5;background:#edf4ef;color:#315e4c;border-radius:9px;padding:11px;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:700}.adjust-time-btn svg{width:17px}.hours-summary{margin:8px 32px 30px;background:#fff;border:1px solid #ded9cf;border-radius:12px;padding:20px}.hours-summary h2{font:600 20px Fraunces;margin:0}.hours-summary p{font-size:11px;color:#7e867f;margin:5px 0 17px}.hours-table{display:grid}.hours-table-head,.hours-table-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,100px);gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #eeeae2;font-size:11px}.hours-table-head{font-size:9px;letter-spacing:1px;color:#8a918b;font-weight:700}.hours-table-row:last-child{border-bottom:0}.hours-table-row .negative,.time-comparison .negative{color:#ad5c18}.hours-table-row .positive,.time-comparison .positive{color:#39705b}.modal textarea{font:inherit;border:1px solid #d5d0c6;background:#fff;border-radius:8px;padding:11px;min-height:82px;resize:vertical}.time-comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 4px}.time-comparison div{display:grid;text-align:center;background:#fff;border:1px solid #e1ddd4;border-radius:9px;padding:10px}.time-comparison span{font-size:9px;color:#858c85;text-transform:uppercase;letter-spacing:.8px}.time-comparison b{margin-top:4px;font-size:16px}.delete-adjustment{width:100%;margin-top:9px;border:0;background:transparent;color:#a64a3c;padding:8px}.audit-line{display:block;text-align:center;color:#8b918b;margin-top:5px}.submit:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){.hours-summary{margin:8px 16px 24px;overflow:auto}.hours-table{min-width:560px}.grid-2{grid-template-columns:1fr}}.segments-editor{display:grid;gap:9px;margin:10px 0 20px}.segment-row{display:grid;grid-template-columns:1fr 1fr 34px;gap:9px;align-items:end}.segment-row label{margin:0}.segment-row>button{width:34px;height:39px;border:0;border-radius:8px;background:#f3e8e5;color:#a64a3c;display:grid;place-items:center}.segment-row>button svg{width:15px}.add-segment{border:1px dashed #aabbb0;background:#f5f8f6;color:#315e4c;border-radius:8px;padding:9px;display:flex;align-items:center;justify-content:center;gap:7px}.add-segment svg{width:15px}.form-error{color:#a64a3c;line-height:1.4}.settings-card input{border:1px solid #d5d0c6;background:#fff;border-radius:8px;padding:11px}.lunch-pause-editor{margin:14px 0 4px;padding:12px;background:#f1f5f1;border:1px solid #d7e3da;border-radius:9px}.lunch-pause-editor .check-row{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}.lunch-pause-editor .grid-2{margin-top:10px}.lunch-pause-editor .grid-2 label{margin-top:0}.color-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}.color-editor label{margin-bottom:8px}.color-input{height:42px;display:flex;align-items:center;gap:8px;border:1px solid #d5d0c6;background:#fff;border-radius:8px;padding:5px 9px}.color-input input[type=color]{width:31px;height:31px;border:0;padding:0;background:transparent}.color-input code{font-size:10px;color:#667068}.shift-color-preview{display:flex;align-items:center;gap:12px;margin:2px 0 18px}.shift-color-preview>span{font-size:10px;font-weight:700;color:#7e867f;text-transform:uppercase;letter-spacing:.8px}.shift-color-preview b,.shift-choice-name,.shift-list-name{display:inline-block;border-radius:6px;padding:7px 10px;font-size:11px}.shift-choice-name{margin-bottom:3px}.shift-list-name{padding:5px 9px}@media(max-width:500px){.color-editor{grid-template-columns:1fr}}.connection-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#68736c;white-space:nowrap}.connection-status i{width:8px;height:8px;border-radius:50%;background:#9ca39e}.connection-status.supabase i{background:#3ba875;box-shadow:0 0 0 3px #3ba87520}.connection-status.loading i{background:#d0a241}.connection-status.error i{background:#bd5848}.connection-error{border:1px solid #e2b3ab;background:#fff7f5;border-radius:10px;padding:14px;color:#8b4035}.connection-error p{margin:5px 0 0;font-size:11px}@media(max-width:800px){.connection-status{font-size:0}.connection-status i{width:9px;height:9px}}.clear-assignment-btn{width:100%;margin-top:10px;border:1px solid #e4b5ad;background:#fff7f5;color:#a64a3c;border-radius:9px;padding:10px;display:flex;justify-content:center;align-items:center;gap:7px}.clear-assignment-btn svg{width:15px}.connection-blocking{min-height:100vh;display:grid;place-items:center;background:#f3f0e9;padding:24px}.connection-blocking-card{width:min(430px,100%);background:#faf8f3;border:1px solid #ded9cf;border-radius:16px;padding:32px;text-align:center;box-shadow:0 18px 50px #17211c14}.connection-blocking-card .brand-mark{margin:0 auto 20px}.connection-blocking-card h1{font:600 27px Fraunces;margin:0 0 10px}.connection-blocking-card p{color:#737d75;font-size:13px;line-height:1.5;margin:0 0 22px}.connection-blocking-card .primary{margin:auto}.login-card{text-align:left}.login-card h1,.login-card>p{text-align:center}.login-card label{display:grid;gap:7px;font-size:12px;font-weight:700;margin:16px 0}.login-card .primary{width:100%;justify-content:center}.login-error{color:#a64a3c!important;background:#fff1ee;border-radius:8px;padding:9px;font-size:11px!important}.user-list{display:grid;gap:9px}.user-list article{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #ded9cf;border-radius:11px;padding:14px 17px}.user-list article.inactive{opacity:.62}.user-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#35453c;color:#fff;font-size:11px;font-weight:700}.user-list h3{font-size:14px;margin:0}.user-list p{font-size:11px;color:#7e867f;margin:3px 0 6px}.user-list article>small{margin-left:auto;color:#7e867f}.user-list article>button{border:1px solid #d8d4ca;background:#fff;border-radius:7px;padding:7px 10px}.user-role,.user-disabled{font-size:9px;padding:3px 7px;border-radius:12px;margin-right:5px}.user-role.admin{background:#e6e1f3;color:#514778}.user-role.manager{background:#dceee6;color:#315e4c}.user-disabled{background:#f3deda;color:#8d4439}.user-editor{width:min(650px,100%)}.user-editor .check-row{display:flex;align-items:center;gap:8px}.permissions-grid{border:1px solid #ded9cf;border-radius:10px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.permissions-grid legend{font-size:11px;font-weight:700;padding:0 6px}.permissions-grid label{display:flex;align-items:center;gap:8px;margin:0;font-weight:500}.admin-rights-note{background:#f0edf8;color:#514778;border-radius:9px;padding:13px;margin:15px 0;font-size:12px}@media(max-width:600px){.permissions-grid{grid-template-columns:1fr}.user-list article>small{display:none}}.export-button{margin-left:10px}.export-button svg{width:16px}.export-modal{width:min(560px,100%)}.export-selection-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 9px;font-size:12px}.export-selection-head button{border:0;background:transparent;color:#315e4c;font-size:11px;padding:4px}.export-employees{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#fff;border:1px solid #e1ddd4;border-radius:9px;padding:10px}.export-employee{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:7px;font-weight:500!important}.export-employee i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9px;font-style:normal;font-weight:700}.export-hours{display:flex!important;align-items:center;gap:8px;margin:17px 0!important}.export-modal .submit{display:flex;align-items:center;justify-content:center;gap:8px}.export-modal .submit svg{width:16px}@media(max-width:550px){.export-employees{grid-template-columns:1fr}.export-button{margin:10px 0 0}}.export-period{margin:17px 0}.export-period>b{display:block;font-size:12px;margin-bottom:8px}.export-period>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.export-period button{border:1px solid #d8d4ca;background:#fff;color:#526058;border-radius:8px;padding:9px}.export-period button.active{background:#315e4c;border-color:#315e4c;color:#fff}.export-period small{display:block;color:#7e867f;margin-top:7px;font-size:10px}.account-menu-wrap{position:relative}.account-menu{position:absolute;z-index:12;right:0;top:48px;width:245px;padding:8px;background:#fff;border:1px solid #ddd8ce;border-radius:11px;box-shadow:0 12px 35px #17211c24}.account-identity{display:grid;padding:9px 10px 12px;border-bottom:1px solid #ece8df;margin-bottom:5px}.account-identity strong{font-size:13px}.account-identity span{font-size:10px;color:#7e867f;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.account-menu>button{width:100%;border:0;background:transparent;border-radius:7px;padding:9px 10px;display:flex;align-items:center;gap:9px;text-align:left;font-size:12px;color:#35453c}.account-menu>button:hover{background:#f3f0e9}.account-menu svg{width:16px}.password-modal>label{margin-bottom:14px}.payroll-actions{display:flex;gap:8px}.payroll-actions>button:not(.primary){border:1px solid #d8d4ca;background:#fff;border-radius:8px;padding:10px 14px}.payroll-filters{display:flex;gap:12px;margin-bottom:22px}.payroll-filters label{display:grid;gap:6px;font-size:11px;font-weight:700}.payroll-filters input,.payroll-filters select{border:1px solid #d5d0c6;background:#fff;border-radius:8px;padding:10px;min-width:150px;text-transform:capitalize}.payroll-table-wrap{overflow:auto;background:#fff;border:1px solid #ded9cf;border-radius:11px}.payroll-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.payroll-table th,.payroll-table td{padding:11px 13px;border-right:1px solid #eeeae2;border-bottom:1px solid #eeeae2;text-align:center}.payroll-table th:first-child,.payroll-table td:first-child{text-align:left}.payroll-table thead th{background:#f5f3ed;color:#526058;font-size:10px;letter-spacing:.5px}.payroll-total th,.payroll-total td{background:#e8eee9;color:#315e4c}.payroll-remarks-title{font:600 19px Fraunces;margin:25px 0 10px}.empty-state.compact{padding:25px}@media(max-width:650px){.payroll-page .section-head{display:grid;gap:14px}.payroll-actions{flex-wrap:wrap}.payroll-filters{display:grid;grid-template-columns:1fr 1fr}.payroll-filters input,.payroll-filters select{min-width:0;width:100%}}.payroll-summary thead th{background:#404040;color:#fff;font-size:12px;font-weight:700}.payroll-summary tbody td{background:#d9e8f5}.payroll-summary .payroll-month{background:#bdd7ee;font-weight:700;vertical-align:top;text-align:left}.payroll-summary thead th:not(:first-child),.payroll-summary tbody td.payroll-week,.payroll-summary tbody td.payroll-hours{text-align:center}.payroll-summary .payroll-total th,.payroll-summary .payroll-total td{background:#404040;color:#fff;font-weight:700;text-align:center}.payroll-summary .payroll-total th:first-child{text-align:left}
