:root{--ink:#182033;--muted:#687086;--primary:#5263e6;--primary-dark:#3b4cca;--paper:#fff;--canvas:#f7f8fb;--line:#e4e7ee;--sidebar:#171c2d;--success:#248b67;--danger:#c84255}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:#d9deeb;padding:22px 16px;display:flex;flex-direction:column;gap:26px}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:11px;font-size:19px;padding:0 7px}.brand img{width:34px}.brand strong{color:#8e99ff}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.sidebar nav>span,.settings{padding:10px 11px;border-radius:8px;color:#bcc3d5;text-decoration:none;display:flex;align-items:center;gap:9px}.sidebar nav a:hover,.sidebar nav a.active{background:#2a3148;color:#fff}.sidebar nav p{margin:16px 11px 4px;color:#838ca5;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.nav-icon{width:18px;text-align:center}.settings{margin-top:auto}.topbar{height:64px;padding:0 24px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px}.topbar>div{display:grid}.topbar small{color:var(--muted)}.topbar .user-name{margin-left:auto;color:var(--muted)}button,.button{border:0;border-radius:8px;background:var(--primary);color:#fff;padding:9px 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.button:hover,button:hover{background:var(--primary-dark)}.button.secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.menu{display:none;background:transparent;color:var(--ink);font-size:22px;padding:4px}.page{padding:28px;max-width:1440px}.messages div{background:#e8f7f1;color:#176b4e;padding:10px 13px;border-radius:8px;margin-bottom:16px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{font-size:26px;font-weight:600;margin:0}.page-heading p,.panel-heading p{color:var(--muted);margin:4px 0 0}.heading-actions{display:flex;gap:8px}.eyebrow{font-size:11px;color:var(--primary);font-weight:700;letter-spacing:.13em}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.metric-grid a{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;color:var(--ink);text-decoration:none}.metric-grid span{color:var(--muted)}.metric-grid strong{display:block;font-size:32px;margin-top:7px}.content-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-heading h2{margin:0;font-size:18px}.view-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}.view-tabs a,.view-tabs span{padding:9px 12px;color:var(--muted);text-decoration:none}.view-tabs .active{color:var(--primary);border-bottom:2px solid var(--primary)}.project-toolbar,.log-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.project-toolbar select,.log-toolbar select{min-width:220px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.log-totals{margin-left:auto;display:flex;gap:24px;color:var(--muted)}.log-totals strong{color:var(--ink);margin-left:5px}.table-scroll{overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:10px}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table th{text-align:left;font-weight:500;font-size:12px;color:var(--muted);padding:10px 13px;border-bottom:1px solid var(--line)}.data-table td{padding:11px 13px;border-bottom:1px solid var(--line)}.data-table tbody tr:last-child td{border-bottom:0}.inline-form{display:flex;align-items:center;gap:9px}.task-check{width:19px;height:19px;padding:0;border:1px solid #9299a9;border-radius:50%;background:transparent;color:transparent;font-size:12px}.done .task-check{background:var(--success);border-color:var(--success);color:#fff}.done td{color:#9aa0ad}.person{display:flex;align-items:center;gap:7px}.person>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf0ff;color:var(--primary);font-size:10px}.status,.entry-type,.receipt{display:inline-block;border-radius:999px;padding:3px 8px;font-size:12px;background:#f0f2f7;color:#515a70}.status-done,.receipt.yes{background:#e5f5ef;color:#1b7655}.status-blocked,.receipt.missing{background:#fdebed;color:#a32d42}.status-in_progress{background:#edf0ff;color:#4051c8}.entry-type{margin-right:7px}.entry-type.trip{background:#edf0ff;color:#4051c8}.entry-type.fuel{background:#fff2dc;color:#8c5a13}.log-table td:first-child strong,.log-table td:first-child small{display:block}.log-table td:first-child small{color:var(--muted)}.add-row{color:var(--muted);text-decoration:none}.empty-row{text-align:center;color:var(--muted);padding:30px!important}.empty-state{text-align:center;padding:48px 20px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.empty-state h2,.empty-state h3{margin:0}.empty-state p{color:var(--muted)}.form-page{max-width:680px}.back-link{color:var(--muted);text-decoration:none}.form-page h1{font-size:26px}.record-form{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:grid;gap:6px}.field:first-of-type,.field:has(textarea),.form-actions,.form-errors{grid-column:1/-1}.field label{font-weight:600}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid #cdd2dd;border-radius:8px;background:#fff}.field textarea{min-height:90px}.checkbox-field{display:flex;align-items:center;gap:8px}.checkbox-field input{width:auto}.field-error,.form-errors{color:var(--danger);font-size:13px}.form-actions{display:flex;gap:8px;margin-top:5px}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.backdrop{display:none}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef1ff,#f8f9fc)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);padding:36px;border-radius:20px;box-shadow:0 24px 70px #29346520}.login-card>img{width:50px}.login-card h1{margin:10px 0 0}.login-card>p{color:var(--muted);margin-top:4px}.login-card form{display:grid;gap:16px;margin-top:26px}.login-card label{display:grid;gap:6px;font-weight:650}.login-card input{width:100%;padding:12px;border:1px solid #cdd3df;border-radius:9px}.login-card button{padding:12px}.error{background:#fff0f0;color:#a32d2d;padding:11px;border-radius:8px}.projects-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;margin:-28px;min-height:calc(100vh - 64px)}.project-rail{background:var(--paper);border-right:1px solid var(--line);padding:24px 15px;display:flex;flex-direction:column}.project-rail-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.project-rail-heading h1{font-size:20px;margin:0}.rail-add{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:var(--primary);color:#fff;text-decoration:none;font-size:20px}.project-section-tabs{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 10px;border-bottom:1px solid var(--line)}.project-section-tabs a{text-align:center;padding:8px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}.project-section-tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}.project-list{display:grid;gap:3px}.project-list-item{padding:10px;border-radius:8px;color:var(--ink);text-decoration:none;display:grid}.project-list-item:hover,.project-list-item.selected{background:#edf0ff}.project-list-item strong{font-weight:600}.project-list-item small,.project-list-empty{color:var(--muted)}.project-list-empty{padding:18px 10px}.new-project-link{margin-top:14px;padding:9px;color:var(--primary);text-decoration:none}.project-workspace{padding:28px;min-width:0}.heading-actions form{display:inline-flex}.text-action{background:transparent;color:var(--muted);padding:8px}.text-action:hover{background:#fdebed;color:var(--danger)}.completion-notice{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin-bottom:16px;border-radius:9px;background:#e5f5ef;color:#1b7655}.completion-notice button{padding:7px 10px}.task-title-cell{display:flex;align-items:center;gap:9px}.task-title-cell a{color:var(--ink);text-decoration:none}.task-title-cell a:hover{color:var(--primary);text-decoration:underline}.task-title-cell small{color:var(--muted)}.priority{font-size:12px}.priority-high,.priority-urgent{color:var(--danger);font-weight:600}.priority-low{color:var(--muted)}.task-detail-heading{margin-bottom:14px}.task-detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:20px;align-items:start}.task-record-form .wide-field{grid-column:1/-1}.task-section{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:18px}.task-conversation .task-section:first-child{margin-top:0}.task-section h2{font-size:17px;margin:0 0 14px}.comment-list{display:grid;gap:14px}.comment-list article{border-bottom:1px solid var(--line);padding-bottom:13px}.comment-meta{display:flex;align-items:center;justify-content:space-between}.comment-meta time,.activity-section time{font-size:12px;color:var(--muted)}.comment-list p{margin:8px 0 0}.comment-form{display:grid;gap:9px;margin-top:16px}.comment-form textarea{width:100%;padding:10px;border:1px solid #cdd2dd;border-radius:8px;resize:vertical}.comment-form button{justify-self:end}.activity-section ul,.attachment-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.activity-section li,.attachment-list li{display:grid}.activity-section li span,.attachment-list a{color:var(--ink)}.compact-form{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.attachment-list small{color:var(--muted)}@media(max-width:1000px){.task-detail-layout{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:270px;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.backdrop.open{display:block;position:fixed;z-index:10;inset:0;background:#11182780;border-radius:0}.menu{display:block}.topbar{padding:0 14px;gap:10px}.topbar>div{margin-right:auto}.topbar small,.topbar .user-name{display:none}.page{padding:20px 14px}.page-heading{align-items:stretch;flex-direction:column}.heading-actions{flex-wrap:wrap}.metric-grid{grid-template-columns:1fr}.project-toolbar,.log-toolbar{align-items:stretch;flex-direction:column}.project-toolbar form,.project-toolbar select,.log-toolbar form,.log-toolbar select{width:100%}.project-toolbar .button{width:100%}.log-totals{width:100%;margin-left:0;justify-content:space-between}.record-form{grid-template-columns:1fr}.field,.field:first-of-type,.field:has(textarea),.form-actions,.task-record-form .wide-field{grid-column:1}.content-panel{padding:15px}.projects-layout{display:block;margin:-20px -14px}.project-rail{border-right:0;border-bottom:1px solid var(--line);padding:15px}.project-list{display:flex;overflow:auto;padding-bottom:4px}.project-list-item{min-width:170px}.project-workspace{padding:20px 14px}.completion-notice{align-items:stretch;flex-direction:column;gap:10px}.completion-notice button{width:100%}}
