:root{font-family:Arial,sans-serif;color:#172033;background:#f4f6f8}body{margin:0}.wrap{max-width:1400px;margin:0 auto;padding:24px}nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}nav a,.btn,button{background:#172033;color:white;padding:10px 14px;border-radius:8px;text-decoration:none;border:0;cursor:pointer}.btn.alt{background:#e6ebf0;color:#172033}.card{display:block;background:white;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 1px 5px #0001;text-decoration:none;color:inherit}.cards{display:flex;gap:14px;flex-wrap:wrap}.cards .card{min-width:220px}.cards .card div{font-size:24px;margin-top:8px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end}table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}th{background:#eef2f7}.num{text-align:right}input,select,textarea{box-sizing:border-box;width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:7px}label{font-size:13px;font-weight:700;display:block;margin-bottom:5px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:#667085;font-size:13px}.good{color:#067647;font-weight:700}.bad{color:#b42318;font-weight:700}.line-table input,.line-table select{min-width:90px}.line-table .wide{min-width:180px}.line-table .small{min-width:70px}.summary{display:flex;gap:16px;flex-wrap:wrap}.summary .card{min-width:180px}a.link{color:#175cd3;text-decoration:none;font-weight:700}
.logout-form{display:flex;gap:8px;align-items:center;margin-left:auto}.user-name{font-size:13px;font-weight:700}.login-page{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{width:min(100%,390px);background:#fff;padding:28px;border-radius:14px;box-shadow:0 8px 28px #0002}.login-card h1{margin-top:0}.login-card label{margin:16px 0}.login-card button{width:100%;margin-top:8px}
.user-row{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #e5e7eb}.permissions-form{flex:1;min-width:280px}fieldset{border:1px solid #d0d5dd;border-radius:8px;margin:16px 0;padding:12px}legend{font-weight:700;padding:0 5px}.permission{display:inline-flex;align-items:center;gap:6px;margin:5px 16px 5px 0;font-size:14px;font-weight:400}.permission input{width:auto}@media(max-width:650px){.logout-form{margin-left:0;width:100%}.user-row{display:block}.user-row>form{margin-top:10px}}

/* Access management */
.users-page{max-width:1120px}.access-header{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin:6px 0 28px}.access-header h1{font-size:34px;margin:3px 0 8px}.access-header p{margin:0;color:#667085}.eyebrow{font-size:11px!important;letter-spacing:.11em;font-weight:800;color:#155eef!important}.access-summary{min-width:120px;background:#172033;color:#fff;padding:16px 20px;border-radius:14px;text-align:center}.access-summary b{display:block;font-size:26px}.access-summary span{font-size:12px;color:#d0d5dd}.notice{padding:12px 14px;border-radius:9px;background:#ecfdf3}.notice.bad{background:#fef3f2}.create-user-card,.account-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #1018280d}.create-user-card{padding:24px;margin-bottom:38px}.section-heading{display:flex;gap:14px;align-items:center;margin-bottom:22px}.section-heading h2,.accounts-heading h2{margin:0 0 5px}.section-heading p,.permission-panel p,.accounts-heading p{margin:0;color:#667085;font-size:14px}.section-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eaf2ff;color:#155eef;font-size:27px;font-weight:500}.user-details-grid{display:grid;grid-template-columns:1.25fr 1.4fr 1.4fr 1fr;gap:14px}.user-details-grid label{font-size:12px;color:#344054}.user-details-grid input,.user-details-grid select{margin-top:5px}.permission-panel{margin:22px 0 18px;border:1px solid #e4e7ec;border-radius:12px;padding:18px;background:#f9fafb}.permission-panel h3{font-size:15px;margin:0 0 4px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.permission-tile{position:relative;display:flex!important;align-items:center;gap:10px!important;min-height:50px;margin:0!important;padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054!important;cursor:pointer;font-weight:400!important}.permission-tile input{position:absolute;opacity:0;pointer-events:none}.permission-tile b{font-size:13px}.permission-check{width:19px;height:19px;display:grid;place-items:center;flex:0 0 19px;border:1.5px solid #98a2b3;border-radius:6px;color:transparent;font-size:12px;font-weight:800}.permission-tile:has(input:checked){border-color:#155eef;background:#eff4ff}.permission-tile:has(input:checked) .permission-check{background:#155eef;border-color:#155eef;color:#fff}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#667085;font-size:13px}.accounts-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.accounts-heading>span{color:#667085;font-size:13px}.account-list{display:grid;gap:15px}.account-card{padding:20px}.account-card.is-disabled{opacity:.72;background:#fcfcfd}.account-card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.person{display:flex;gap:12px;align-items:center}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eaf2ff;color:#155eef;font-weight:800;font-size:14px}.person h3{margin:0 0 3px;font-size:16px}.person p{margin:0;color:#667085;font-size:13px}.badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.role-badge,.status-badge{padding:5px 8px;border-radius:99px;font-size:11px;font-weight:800;background:#f2f4f7;color:#475467}.role-badge.admin{background:#fff4ed;color:#c4320a}.status-badge.active{background:#ecfdf3;color:#067647}.admin-access{margin:17px 0 4px;padding:12px 13px;border-radius:9px;background:#eff8ff;color:#175cd3;font-size:13px;font-weight:700}.account-permissions{margin-top:18px}.account-permissions .permission-grid{margin:0 0 14px}.permission-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.permission-grid.compact .permission-tile{min-height:44px}.permission-grid.compact .permission-tile b{font-size:12px}.account-card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #eaecf0;margin-top:18px;padding-top:14px;color:#667085;font-size:12px}.account-card-foot form{margin:0}@media(max-width:800px){.user-details-grid{grid-template-columns:repeat(2,1fr)}.permission-grid.compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.access-header{align-items:flex-start;flex-direction:column}.access-summary{width:100%;box-sizing:border-box}.create-user-card,.account-card{padding:16px}.user-details-grid,.permission-grid,.permission-grid.compact{grid-template-columns:1fr}.form-actions,.account-card-head,.account-card-foot{align-items:stretch;flex-direction:column}.badges{justify-content:flex-start}.form-actions button,.account-card-foot button{width:100%}}
.inventory-picker{position:relative;min-width:230px}.inventory-picker .inventory-search.invalid{border-color:#d92d20;background:#fff7f6}.inventory-menu{position:absolute;z-index:1000;top:calc(100% + 3px);left:0;right:0;min-width:300px;max-height:300px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 24px #0002;padding:4px}.inventory-option,.inventory-create{display:flex;width:100%;justify-content:space-between;gap:12px;text-align:left;background:#fff;color:#172033;border:0;border-radius:5px;padding:9px 10px}.inventory-option:hover,.inventory-create:hover{background:#eef4ff}.inventory-option span{color:#667085;font-size:12px}.inventory-create{color:#067647;font-weight:700;border-top:1px solid #e5e7eb;margin-top:3px}

.revenue-head{display:flex;justify-content:space-between;gap:18px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.month-picker{min-width:280px}.revenue-summary .card{min-width:150px;flex:1}.revenue-table-wrap{overflow:auto;border-radius:12px;box-shadow:0 1px 5px #0001;background:#fff;margin-top:12px}.revenue-table{min-width:1180px}.revenue-table th{white-space:nowrap}.revenue-table thead th{text-align:center;vertical-align:middle}.revenue-table .source-head{background:#e6edf7;font-size:14px}.revenue-table td{padding:6px}.revenue-table input{min-width:105px;text-align:right;padding:8px}.revenue-table .revenue-note{min-width:170px;text-align:left}.revenue-table .date-col{position:sticky;left:0;z-index:2;background:#fff;min-width:95px}.revenue-table thead .date-col{background:#eef2f7;z-index:4}.revenue-table tfoot th{background:#172033;color:#fff}.revenue-table .daily-total{font-weight:700;white-space:nowrap;min-width:105px}.revenue-save-top,.revenue-save-bottom{margin:12px 0}.revenue-page h1{margin-bottom:4px}

.daily-invoice-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:10px;align-items:end}.daily-invoice-grid .wide-field{grid-column:span 2}.daily-entry-actions{margin-top:12px}.daily-invoice-table-wrap,.special-table-wrap{overflow:auto}.daily-invoice-table{min-width:1180px}.daily-invoice-table td{padding:6px}.daily-invoice-table input,.daily-invoice-table select{min-width:105px}.daily-invoice-table .num-input{text-align:right;min-width:90px}.danger-btn{background:#b42318}.special-summary{margin-top:14px}.special-summary .card{min-width:140px;flex:1}.special-summary .card div{font-size:20px;margin-top:6px}@media(max-width:1100px){.daily-invoice-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:650px){.daily-invoice-grid{grid-template-columns:1fr}.daily-invoice-grid .wide-field{grid-column:auto}}

/* Phase 10 - whole-month invoice entry sheet */
.monthly-invoice-page{max-width:1900px}.monthly-sheet-summary .card{min-width:135px;flex:1}.monthly-sheet-summary .card div{font-size:20px;margin-top:5px}.monthly-sheet-actions{margin:10px 0}.monthly-invoice-wrap{overflow:auto;max-height:72vh;border:1px solid #d8dee8;border-radius:12px;background:#fff}.monthly-invoice-table{min-width:1500px;table-layout:fixed}.monthly-invoice-table thead th{position:sticky;top:0;z-index:4;background:#eaf0f7;white-space:nowrap}.monthly-invoice-table th,.monthly-invoice-table td{padding:4px 5px}.monthly-invoice-table tbody tr:nth-child(even){background:#fbfcfe}.monthly-invoice-table tbody tr.saved-row{background:#f8fbff}.monthly-invoice-table .row-no{width:45px;text-align:center;position:sticky;left:0;z-index:2;background:inherit}.monthly-invoice-table thead .row-no{z-index:5;background:#eaf0f7}.monthly-invoice-table th:nth-child(2){width:125px}.monthly-invoice-table th:nth-child(3){width:120px}.monthly-invoice-table th:nth-child(4){width:105px}.monthly-invoice-table th:nth-child(5){width:110px}.monthly-invoice-table th:nth-child(6),.monthly-invoice-table th:nth-child(7),.monthly-invoice-table th:nth-child(8),.monthly-invoice-table th:nth-child(9){width:105px}.monthly-invoice-table th:nth-child(10){width:230px}.monthly-invoice-table th:nth-child(11){width:90px}.monthly-invoice-table input,.monthly-invoice-table select{padding:6px 7px;border-radius:5px;min-height:33px}.monthly-invoice-table .num-input{text-align:right}.monthly-invoice-table .note-input{min-width:210px}.follow-cell{white-space:nowrap}.mini-delete{background:#b42318;padding:5px 8px;margin-left:6px;border-radius:5px}.monthly-sheet-actions.bottom{margin-top:14px}.monthly-invoice-table input:disabled{background:#f2f4f7;color:#98a2b3}

/* Phase 11: calendar-day monthly invoice index */
.month-days-wrap{max-height:none;overflow:auto}
.month-days-table{min-width:1350px}
.month-days-table .clickable-day{cursor:pointer}
.month-days-table .clickable-day:hover{background:#eef5ff}
.month-days-table .date-open-link{font-weight:700;text-decoration:none;color:#0b5ed7}
.month-days-table tfoot th{position:sticky;bottom:0;background:#e7edf5;border-top:2px solid #9aa8ba;z-index:2}
.users-page{max-width:1100px}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.access-module{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff}.access-module b{font-size:13px}.access-module label{display:inline-flex;gap:5px;align-items:center;margin:0;font-weight:400;font-size:12px}.access-module input{width:auto}.account-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;margin:12px 0;box-shadow:0 1px 5px #0001}.account-card h3{margin:0}.toggle-access{margin-top:12px}@media(max-width:650px){.access-grid{grid-template-columns:1fr}.access-module{grid-template-columns:1fr auto auto}}

/* Phase 12: daily invoice sheet + day closing reconciliation */
.invoice-sheet-card{padding:18px}.invoice-sheet-heading{margin-bottom:12px}.invoice-grid-wrap{max-height:650px;overflow:auto;border:1px solid #d8dee8;border-radius:10px;background:#fff}.invoice-grid-table{width:100%;border-collapse:collapse;min-width:1180px}.invoice-grid-table thead th{position:sticky;top:0;z-index:2;background:#e9eef5;padding:8px 6px;text-align:left}.invoice-grid-table td{padding:4px 5px;border-bottom:1px solid #e6e9ee}.invoice-grid-table input,.invoice-grid-table select{width:100%;box-sizing:border-box;min-height:34px}.invoice-grid-table .row-number{width:44px;text-align:center;font-weight:700;background:#f7f9fc}.invoice-grid-table .money{min-width:90px;text-align:right}.invoice-grid-table .delete-cell{width:72px;text-align:center;font-size:12px}.sheet-actions{margin-top:12px}.day-summary{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px}.day-closing-card{margin-top:18px}.closing-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.closing-expected-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin:14px 0}.closing-expected-grid>div{background:#f4f7fb;border:1px solid #dbe3ee;border-radius:10px;padding:12px}.closing-expected-grid span{display:block;font-size:12px;color:#627087}.closing-expected-grid strong{display:block;margin-top:4px;font-size:20px}.closing-input-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.closing-input-grid label{display:block;font-weight:700;margin-bottom:6px}.closing-input-grid input{width:100%;box-sizing:border-box}.closing-notes{grid-column:1/-1}.variance{display:block;min-height:18px;margin-top:4px;font-size:12px}.variance-ok{color:#087a3d}.variance-bad{color:#b42318;font-weight:700}@media(max-width:1000px){.day-summary{grid-template-columns:repeat(2,1fr)}.closing-expected-grid{grid-template-columns:repeat(2,1fr)}.closing-input-grid{grid-template-columns:1fr}}
