:root{--ink: #1f2a2a;--muted: #6f756f;--line: #ddd8ce;--panel: #ffffff;--canvas: #f4efe5;--teal: #2f3737;--teal-soft: #ead2c7;--calendar-task: #d4967d;--calendar-task-soft: #f4ded5;--calendar-event: #7b5d95;--calendar-event-soft: #eee6f4;--time-off: #b58a20;--time-off-soft: #fff0bf;--coral: #b85b42;--coral-soft: #f5e2d9;--gold: #a8792b;--gold-soft: #f2e5c8;--green: #315f45;--green-soft: #dfe9dd;--blue: #45646d;--blue-soft: #e2ebec;--shadow: 0 16px 40px rgba(31, 42, 42, .1)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:linear-gradient(135deg,rgba(11,104,100,.08),transparent 34%),linear-gradient(315deg,rgba(184,91,66,.08),transparent 34%),var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.sprite{position:absolute;width:0;height:0;overflow:hidden}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.auth-gate{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);display:grid;gap:16px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px;box-shadow:var(--shadow)}.auth-brand{color:var(--ink)}.auth-brand span{color:var(--muted)}.auth-message{color:var(--muted);font-size:.92rem}.sidebar{padding:22px;background:#2f3737;color:#fff;display:flex;flex-direction:column;gap:26px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.42);border-radius:8px;background:#f1e2c5;color:#2f3737;font-weight:800}.brand strong,.brand span{display:block}.brand span,.eyebrow{color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}.sidebar .brand span{color:#ffffffb8}nav{display:grid;gap:8px}.nav-button,.primary-button,.ghost-button,.filter-chip,.icon-button,.task-action{border:0;border-radius:8px;min-height:40px}.nav-button{display:flex;align-items:center;gap:10px;color:#ffffffc7;background:transparent;padding:11px 12px;text-align:left}.nav-button.active,.nav-button:hover{color:#fff;background:#ffffff21}.role-panel{margin-top:auto;display:grid;gap:8px}.role-panel label{color:#ffffffb8;font-size:.82rem;font-weight:700}.role-panel select,input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:10px 12px}.signed-in-panel{display:grid;gap:8px}.signed-in-panel span,.signed-in-panel small{display:block}.signed-in-panel span{font-weight:800}.signed-in-panel small{color:#ffffffb8}.sync-status{color:var(--muted);font-size:.88rem;min-width:150px;text-align:right}main{min-width:0;padding:26px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.85rem,3vw,2.65rem)}h2{margin-bottom:0;font-size:1.2rem}.topbar-actions,.filter-row,.task-actions,.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.primary-button,.ghost-button,.task-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-weight:800}.primary-button{background:var(--teal);color:#fff}.ghost-button{border:1px solid var(--line);background:#ffffffb8;color:var(--ink)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{min-height:104px;border:1px solid var(--line);border-radius:8px;background:#ffffffd1;padding:16px;box-shadow:0 8px 24px #2026330f}.metric-button{cursor:pointer;text-align:left}.metric-button:hover{border-color:var(--teal)}.metric strong{display:block;font-size:2rem;line-height:1}.metric span{color:var(--muted);font-size:.9rem}.content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.panel{border:1px solid var(--line);border-radius:8px;background:#ffffffeb;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line)}.schedule-controls{display:grid;justify-items:end;gap:6px}.control-group{display:flex;align-items:center;justify-content:flex-end;gap:8px}.control-group>span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.segmented{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.filter-chip{padding:0 12px;background:#f2f4f5;color:var(--muted);font-weight:800}.compact-segmented{gap:4px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}.compact-segmented .filter-chip{min-height:30px;padding:0 10px;border-radius:6px;font-size:.82rem}.compact-select{min-height:34px;max-width:240px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-weight:800}.filter-chip.active{color:var(--teal);background:var(--teal-soft)}.task-list{display:grid;gap:1px}.calendar-day{display:grid;gap:1px;border-bottom:1px solid var(--line)}.calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f7f8f8;padding:10px 16px}.calendar-day-header span{color:var(--muted);font-size:.84rem;font-weight:800}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line);gap:1px}.month-weekday,.month-cell{background:#fff}.month-weekday{min-height:38px;display:grid;place-items:center;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.month-cell{min-height:128px;padding:9px}.month-cell.empty{background:#f7f8f8}.today-cell{box-shadow:inset 0 0 0 2px var(--teal)}.month-task-list{display:grid;gap:6px;margin-top:8px}.month-task-list button{border:0;border-left:3px solid var(--calendar-task);border-radius:0 6px 6px 0;background:var(--calendar-task-soft);color:var(--ink);padding:6px 7px;text-align:left;font-size:.78rem;font-weight:800}.month-task-list button.hostfully-task{border-left-color:#466b72;background:#e8f1ef}.month-task-list button.manual-task{border-left-color:#c65f46;background:var(--calendar-task-soft)}.month-task-list button.scheduled-session-task{border-left-color:#2f3737;background:#f4f0e8}.month-task-list button.calendar-event-task{border-left-color:var(--calendar-event);background:var(--calendar-event-soft)}.month-task-list span{display:block;color:var(--muted);font-size:.72rem;font-weight:700}.time-off-hint{border-left:3px solid var(--time-off);border-radius:0 6px 6px 0;background:var(--time-off-soft);color:#60450c;padding:5px 7px;font-size:.72rem;font-weight:900}.list-time-off-hint{margin:8px 24px 0}.calendar-event-card{display:grid;gap:8px;margin:0;padding:14px 24px;border-left:4px solid var(--calendar-event);background:var(--calendar-event-soft);cursor:pointer}.calendar-event-card h3,.calendar-event-card p{margin:0}.calendar-event-card .meta-row{margin-top:4px}.event-detail-body{display:grid;gap:12px;padding:18px 24px}.event-detail-body h3{margin:0;font-size:1.35rem}.event-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);background:#fff;padding:10px 12px}.month-nav strong{font-size:.98rem}.pill.multi-day{background:#f4ded5;color:#8d4f39}.subtle-line{color:var(--muted);font-weight:800}.scheduled-sessions{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fffaf4}.session-list{display:grid;gap:8px}.session-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:8px}.session-row small{display:block;color:var(--muted);font-weight:800}.session-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.session-form label{display:grid;gap:4px;font-weight:900;color:var(--muted)}.session-form .full{grid-column:1 / -1}.calendar-history{margin:16px;border:1px solid var(--line);border-radius:8px;background:#fbfaf7}.calendar-history summary{cursor:pointer;padding:12px 14px;color:var(--muted);font-weight:900}.calendar-history summary span{margin-left:8px;padding:3px 8px;border-radius:999px;background:#e9eded;font-size:.78rem}.task-card{display:grid;grid-template-columns:6px minmax(0,1fr);background:#fff;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.task-card:last-child{border-bottom:0}.task-card:hover{background:#fbf8f1}.task-stripe{background:var(--blue)}.task-card.flagged .task-stripe,.task-card.urgent .task-stripe{background:var(--coral)}.task-card.complete .task-stripe{background:var(--green)}.task-inner{padding:14px 16px}.task-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.task-title{margin-bottom:6px;font-size:1rem}.task-title button{padding:0;border:0;background:transparent;color:inherit;font-weight:900;text-align:left}.meta-row{color:var(--muted);font-size:.88rem}.pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 9px;color:var(--muted);background:#f2f4f5;font-size:.78rem;font-weight:800;white-space:nowrap}.pill.same-day,.pill.urgent{color:var(--coral);background:var(--coral-soft)}.pill.hostfully{color:var(--blue);background:var(--blue-soft)}.pill.manual{color:var(--gold);background:var(--gold-soft)}.pill.complete{color:var(--green);background:var(--green-soft)}.task-action{background:var(--ink);color:#fff;min-height:34px;padding:0 11px;font-size:.86rem}.task-action.secondary{background:#eef1f2;color:var(--ink)}.task-action.danger{background:var(--coral-soft);color:var(--coral)}.detail-panel{display:none;min-height:540px;overflow:hidden}.detail-empty{display:grid;place-items:center;min-height:440px;padding:34px;color:var(--muted);text-align:center}.detail-hero{min-height:150px;background:linear-gradient(135deg,#123f3fd1,#123f3f2e),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='300' viewBox='0 0 900 300'%3E%3Crect width='900' height='300' fill='%23e9ddcd'/%3E%3Cpath d='M0 240 C120 170 180 190 300 140 C430 85 520 110 640 68 C760 28 830 44 900 12 V300 H0 Z' fill='%23007c78' opacity='.36'/%3E%3Cpath d='M0 278 C180 232 280 250 420 198 C560 146 680 178 900 94 V300 H0 Z' fill='%23c9553d' opacity='.28'/%3E%3Cpath d='M528 122 l64 -55 64 55 v68 h-128z' fill='%23ffffff' opacity='.9'/%3E%3Cpath d='M560 190 v-42 h36 v42' fill='%23f1c16b'/%3E%3C/svg%3E");background-size:cover;background-position:center}.detail-body{padding:18px;display:grid;gap:14px}.detail-list{display:grid;gap:10px;margin:0}.detail-list div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px}.detail-list dt{color:var(--muted);font-weight:800}.detail-list dd{margin:0}.note-box{display:grid;gap:12px}.important-booking-notes{display:grid;gap:10px;border:1px solid rgba(201,85,61,.24);border-left:4px solid var(--coral);border-radius:8px;background:var(--coral-soft);padding:12px}.important-booking-notes h3,.important-booking-notes p{margin:0}.important-booking-notes>div>p{color:var(--muted);font-size:.9rem}.important-note-text{line-height:1.45;white-space:pre-wrap}.task-subsection{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px}.task-subsection h3,.task-subsection p{margin:0}.time-entry{background:#fbfcfb}.comment-box{border-color:#007c7840;background:#f2fbf8}.delete-zone{border-color:#b85b4238;background:#fff8f5}.delete-zone p{color:var(--muted);font-size:.9rem}.comment-box>div>p{color:var(--muted);font-size:.9rem;line-height:1.45}.assignment-box{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#f7fbfb;padding:12px}.supply-box{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fffaf0;padding:12px}.supply-box h3,.supply-box p{margin:0}.supply-box>div>p,.supply-note small{color:var(--muted);font-size:.9rem}.supply-list,.inventory-log{display:grid;gap:8px}.supply-note{display:grid;gap:5px;border-left:3px solid var(--gold);border-radius:0 8px 8px 0;background:#fff;padding:10px 12px}.supply-note.critical{border-left-color:var(--coral);background:var(--coral-soft)}.alert-entry-box{border-color:#c65f4659;background:var(--coral-soft)}.alert-entry-box h3,.alert-entry-box p{margin:0}.alert-entry-box p{color:var(--muted);font-size:.9rem}.alert-card{border-left:4px solid var(--coral)}.alert-section{display:grid;gap:12px}.alert-section+.alert-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.alert-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.alert-section-title h3{margin:0;font-size:1.05rem}.alert-section-title span{min-width:34px;padding:4px 10px;border-radius:999px;background:var(--coral-soft);color:var(--coral);font-weight:900;text-align:center}.task-alert-card{background:#fffdf9}.alert-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.alert-meta span{padding:5px 9px;border-radius:999px;background:#f4f1eb;color:var(--muted);font-size:.82rem;font-weight:800}.alert-message{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.alert-message strong,.alert-message p{margin:0}.alert-photo-grid{margin-top:12px}.alert-archive{display:grid;gap:12px;margin-top:12px}.supply-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.photo-card{display:grid;gap:8px;margin:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.photo-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#eef1f3}.photo-card figcaption{display:grid;gap:4px;padding:8px;font-size:.82rem}.photo-card small{color:var(--muted)}.assignment-box h3,.assignment-box p{margin:0}.assignment-box p{color:var(--muted);font-size:.9rem}.time-entry p{margin:0;color:var(--muted);font-size:.9rem}.time-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.time-session-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.time-session-form .full{grid-column:1 / -1}.time-corrections{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.time-corrections h4{margin:0;font-size:.92rem}.time-correction-row{display:grid;grid-template-columns:minmax(110px,.7fr) 150px 110px minmax(160px,1fr) auto auto;gap:8px;align-items:center}.time-correction-row small{display:block;color:var(--muted);font-size:.78rem}.note-log{display:grid;gap:8px}.note{border-left:3px solid var(--teal);background:#f8faf9;padding:10px 12px;border-radius:0 8px 8px 0;font-size:.9rem}.inline-link-button{border:0;background:transparent;color:var(--teal);font:inherit;font-weight:900;text-align:left;text-decoration:underline;cursor:pointer;padding:0}.hours-grid,.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.people-setup-section{margin:18px}.people-setup-section .people-grid{grid-template-columns:1fr;padding:12px 0 0}.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.team-admin{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:18px 18px 0}.date-range-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.date-range-controls input{max-width:145px}.team-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:9px}.team-line:first-of-type{border-top:0;padding-top:0}.team-line small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.contractor-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr) auto;gap:10px;align-items:end}.person-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:15px}.person-card summary,.property-card summary{list-style:none;cursor:pointer}.person-card summary::-webkit-details-marker,.property-card summary::-webkit-details-marker{display:none}.person-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.person-summary h3{margin:0 0 4px}.person-summary p{margin:0;color:var(--muted)}.person-card-details{display:grid;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.contact-body{display:grid;gap:14px;padding:18px}.contacts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contact-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:15px}.contact-team{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end;border-top:1px solid var(--line);padding-top:10px}.contact-team:first-of-type{border-top:0;padding-top:0}.contact-team small{display:block;color:var(--muted);font-size:.82rem}.contact-list{display:grid;gap:8px;margin:0}.contact-list div{border-top:1px solid var(--line);padding-top:8px}.contact-list dt{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.contact-list dd{margin:2px 0 0;font-weight:800}.contact-list a{color:var(--ink);text-decoration:none}.contact-list a:hover{text-decoration:underline}.empty-contact{color:var(--muted);font-weight:700}.contact-edit-button{justify-self:start}.contact-editor{display:grid;gap:10px}.team-contact-editor{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end}.team-contact-display{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;align-items:center}.team-contact-display span{font-weight:800}.team-contact-display small{width:100%;text-align:right}.team-contact-editor label,.contact-editor label{display:grid;gap:5px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.team-contact-editor input,.contact-editor input{min-height:38px;padding:8px 10px;font-size:.95rem;font-weight:500;text-transform:none}.contact-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.82rem}.person-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.person-header h3,.person-header p,.access-note{margin:0}.person-header p,.access-note{color:var(--muted);font-size:.9rem}.access-list{display:flex;flex-wrap:wrap;gap:6px}.access-list span,.assignable-list span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#f2f4f5;color:var(--ink);padding:6px 9px;font-size:.78rem;font-weight:800}.access-list button,.assignable-list button{display:grid;place-items:center;width:18px;height:18px;min-height:18px;border:0;border-radius:999px;background:#2026331f;color:var(--ink);font-size:.72rem;font-weight:900;line-height:1}.access-editor{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.privilege-control{border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:10px}.inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.assignable-list{display:flex;flex-wrap:wrap;gap:6px}.report-body{display:grid;gap:14px;padding:18px}.hours-report{display:grid;gap:16px;padding:18px}.report-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mini-report{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.mini-report h3{margin:0 0 4px}.task-menu-manager{grid-column:1 / -1;margin:0 18px 18px}.task-menu-list{display:grid;gap:8px}.task-menu-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto auto;gap:8px;align-items:center}.report-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:9px}.report-line:first-of-type{border-top:0;padding-top:0}.report-line span,.hours-row span{min-width:0}.report-line small,.hours-row small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.hours-table{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:8px}.hours-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,.85fr) 92px minmax(0,1fr) 190px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}.hours-row input,.hours-entry-form input,.hours-entry-form select{min-height:36px;width:100%;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;font-size:.95rem}.hours-actions{display:flex;flex-wrap:wrap;gap:6px}.hours-row.missing{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,.95fr) 76px 80px}.hours-row.actionable:hover{background:#fbfcfb}.compact-action{min-height:32px;padding:0 10px}.hours-row:last-child{border-bottom:0}.hours-row.heading{color:var(--muted);background:#f7f8f8;font-size:.78rem;font-weight:900;text-transform:uppercase}.hours-entry-list{display:grid;gap:10px}.hours-entry-card{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfb}.hours-entry-summary{display:grid;gap:3px}.hours-entry-summary small{color:var(--muted);font-weight:800}.hours-entry-form{display:grid;grid-template-columns:minmax(150px,1fr) 150px 110px minmax(180px,1.4fr) auto;gap:10px;align-items:end}.hours-entry-form label{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.report-total{display:grid;justify-items:end;gap:3px}.panel-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}.report-total span{color:var(--muted);font-size:.82rem;font-weight:800}.report-total strong{font-size:1.45rem}.invoice-card{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.catalog-panel{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.catalog-header h3,.catalog-header p{margin:0}.catalog-header p{color:var(--muted);font-size:.9rem}.catalog-table{display:grid;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px}.audit-table{display:grid;max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:8px}.audit-tools{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:14px;align-items:end;margin:14px 0}.audit-tools input{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:8px}.audit-summary{display:flex;flex-wrap:wrap;gap:8px}.audit-summary span{padding:7px 10px;border-radius:999px;color:var(--muted);background:#f1f4f3;font-size:.82rem;font-weight:800}.audit-row{display:grid;grid-template-columns:110px minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-bottom:1px solid var(--line)}.audit-row.skipped{background:#fbf3f1}.audit-row.heading{position:sticky;top:0;color:var(--muted);background:#f7f8f8;font-size:.78rem;font-weight:900;text-transform:uppercase}.audit-row small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.catalog-row{display:grid;grid-template-columns:minmax(0,1.4fr) 90px 110px 110px 150px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}.catalog-row input{min-height:34px;padding:7px 9px}.catalog-actions{display:flex;gap:6px}.compact-checkbox{min-height:34px;font-size:.85rem}.compact-quantity{max-width:160px;margin:12px 0}.compact-quantity input{min-height:38px;padding:8px 10px}.catalog-row:last-child{border-bottom:0}.catalog-row.heading{position:sticky;top:0;color:var(--muted);background:#f7f8f8;font-size:.78rem;font-weight:900;text-transform:uppercase}.catalog-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr) minmax(0,.7fr) auto auto;gap:10px;align-items:end}.checkbox-label{display:flex;align-items:center;gap:8px;min-height:40px}.checkbox-label input{width:auto}.invoice-header{display:flex;justify-content:space-between;gap:14px;padding:14px;border-bottom:1px solid var(--line)}.invoice-header h3,.invoice-header p{margin:0}.invoice-header p,.invoice-row small{color:var(--muted);font-size:.86rem}.invoice-table{display:grid}.invoice-row{display:grid;grid-template-columns:minmax(0,1.5fr) 72px 90px 90px;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}.invoice-row.with-actions{grid-template-columns:minmax(0,1.5fr) 72px 90px 90px 90px}.invoice-row:last-child{border-bottom:0}.invoice-row.heading{color:var(--muted);background:#f7f8f8;font-size:.78rem;font-weight:900;text-transform:uppercase}.invoice-row small{display:block;margin-top:3px}.property-card,.hours-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:15px}.property-card,.property-card-summary,.property-card-details{display:grid;gap:14px}.property-card-details{padding-top:14px;border-top:1px solid var(--line)}.property-preview{margin:0;color:var(--muted);font-size:.92rem;line-height:1.35}.details-cue{width:fit-content;border-radius:999px;background:#eef1f0;color:var(--ink);padding:6px 10px;font-size:.78rem;font-weight:900}.property-card[open] .details-cue{background:var(--coral-soft);color:var(--coral)}.property-card.focused-property{border-color:var(--coral);box-shadow:0 0 0 3px #d4967d47}.property-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.property-card-header h3{margin:0 0 6px}.property-card-header p{margin:0;color:var(--muted)}.property-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:12px;border-radius:8px;background:#f8faf9}.property-facts div{display:grid;gap:4px}.property-facts dt,.property-reference h4{margin:0;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.property-facts dd{margin:0;font-weight:800}.property-reference{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.property-reference section{display:grid;align-content:start;gap:6px;min-height:108px;border:1px solid var(--line);border-radius:8px;background:#fffaf4;padding:12px}.property-reference section:nth-child(4){grid-column:1 / -1;border-color:#d4967d59;background:var(--calendar-task-soft)}.property-reference section p,.guide-copy p{margin:0}.muted-copy{color:var(--muted)}.archived-properties{margin:0 18px 18px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.archived-properties summary{cursor:pointer;padding:12px 14px;color:var(--muted);font-weight:900}.archived-properties summary span{margin-left:8px;padding:3px 8px;border-radius:999px;background:#e9eded;font-size:.78rem}.archived-property-grid{padding-top:0}.archived-property{opacity:.82;background:#fbfbfa}.property-card h3,.hours-card h3{margin-bottom:8px}.guide-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:14px;padding:18px}.guide-card{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px}.guide-card textarea{width:100%;margin-top:8px}.guide-copy{display:grid;gap:16px;line-height:1.55}.guide-side-note{align-content:start;background:#f8faf9}.guide-side-note h3,.guide-side-note p{margin:0}.property-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:10px;align-items:end}.property-team-picker{display:grid;gap:4px;min-width:190px;margin-right:auto;font-size:.74rem;font-weight:900;text-transform:uppercase;color:var(--muted)}.property-team-picker select{height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;text-transform:none;color:var(--ink);background:#fff}.hidden{display:none}dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:#2026336b}.modal-card{width:min(760px,calc(100vw - 28px));border-radius:8px;background:#fff;box-shadow:var(--shadow)}.task-detail-dialog{max-width:calc(100vw - 18px)}.task-detail-card{width:min(920px,calc(100vw - 18px));max-height:calc(100vh - 22px);overflow:auto}.task-detail-card .detail-hero{min-height:96px}.task-detail-card .modal-header{position:sticky;top:0;z-index:2;background:#fff}.modal-header,.modal-actions{display:flex;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid var(--line)}.modal-actions{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.icon-button{width:38px;min-height:38px;background:#f2f4f5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.time-off-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:16px;padding:18px}.time-off-form,.time-off-list{display:grid;gap:12px;align-content:start}.time-off-form{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfcfb}.time-off-card{display:grid;gap:8px;border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:8px;padding:14px;background:#fff}.time-off-card div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.time-off-card span{color:var(--muted);font-size:.82rem;font-weight:800}.time-off-card p{margin:0}label{display:grid;gap:7px;color:var(--muted);font-size:.84rem;font-weight:800}label small{color:var(--muted);font-size:.74rem;font-weight:700;line-height:1.35}.full{grid-column:1 / -1}textarea{resize:vertical}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:5;padding:14px}.brand,.role-panel{display:none}nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-button{justify-content:center;padding:10px 6px}.content-grid,.summary-grid,.property-grid,.hours-grid,.people-grid,.contacts-grid,.guide-layout,.team-admin,.report-columns,.property-facts,.property-reference{grid-template-columns:1fr}.topbar,.panel-header,.task-main{align-items:stretch;flex-direction:column}}@media (max-width: 560px){main{padding:14px}nav{overflow-x:auto;grid-template-columns:repeat(4,120px)}.topbar-actions,.filter-row,.segmented,.control-group,.schedule-controls{display:grid;grid-template-columns:1fr;justify-items:stretch}.control-group>span{text-align:left}.form-grid,.time-off-layout,.session-form,.detail-list div,.time-row,.time-session-form,.time-correction-row,.supply-form{grid-template-columns:1fr}.invoice-header{flex-direction:column}.invoice-row{grid-template-columns:minmax(0,1fr) 52px 70px 70px;padding:10px}.hours-row,.hours-entry-form{grid-template-columns:1fr}.hours-actions{align-items:stretch;flex-direction:column}.month-calendar{grid-template-columns:1fr}.month-weekday,.month-cell.empty{display:none}.catalog-row,.catalog-form,.contractor-form,.task-menu-row,.inline-control{grid-template-columns:1fr}}
