/* Palette verified against crm_codex/assets/theme.css. */
:root{font-family:"Segoe UI",Arial,sans-serif;color:#293945;background:#dce3e8;font-size:14px;--ink:#293945;--muted:#5d6e7a;--line:#c4cfd7;--dark:#293642;--primary:#456d83;--panel:#eaf0f3}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}h1,h2,p{margin:0}h1{font-size:30px;letter-spacing:-.7px;font-weight:600}h2{font-size:17px;font-weight:600}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #557f99;outline-offset:3px}.eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--muted);margin-bottom:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;min-height:44px;border:1px solid var(--primary);border-radius:7px;background:var(--primary);color:#fff;font-weight:600;font-size:13px}.button:hover{background:#35576c}.button.secondary{background:#dfe7ed;color:#344e5e;border-color:#b8c7d1}.form-stack{display:flex;flex-direction:column;gap:20px}.form-stack label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#344d5e}.form-stack input{width:100%;min-width:0;height:46px;border:1px solid #b9c7d1;background:#f0f3f5;border-radius:6px;padding:10px 12px;color:var(--ink)}small,.muted{color:var(--muted);font-size:12px;font-weight:400;line-height:1.65}.alert{padding:14px 16px;border-radius:7px;margin-bottom:22px;background:#dde7ed;border:1px solid var(--line);line-height:1.6}.error{background:#f8e9e7;color:#873c36;border-color:#dcb9b4}.success{background:#e0ede7;color:#305c45;border-color:#b7ccbf}.logo-box{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:5px;padding:12px 18px;width:174px;height:76px}.logo-box img{max-width:100%;max-height:100%;object-fit:contain}.auth-layout{display:grid;grid-template-columns:46% 54%;min-height:100svh}.auth-brand{background:var(--dark);color:#dce5eb;padding:42px 10%;display:flex;flex-direction:column}.auth-message{margin:auto 0;padding:65px 0}.auth-message .eyebrow{color:#aebfc9}.auth-message h1{color:#f0f3f5;font-size:clamp(30px,3.5vw,53px);line-height:1.2;letter-spacing:-1.5px}.auth-message h1 span{color:#b4cad7}.auth-message p{color:#b6c5cf;line-height:1.9;margin-top:25px;font-size:15px}.auth-rule{width:58px;height:3px;background:#a97069;margin:34px 0 25px}.auth-modules{display:flex;gap:22px;font-size:12px;color:#b6c5cf}.auth-brand footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1px}.auth-brand footer span{letter-spacing:0;color:#acbcc7}.auth-main{background:var(--panel);padding:45px 12%;display:flex;align-items:center;justify-content:center;position:relative}.auth-form{max-width:410px;width:100%;padding:20px 0}.auth-form h2{font-size:29px;line-height:1.25;letter-spacing:-.6px}.intro{margin:16px 0 30px;color:var(--muted);line-height:1.7}.auth-submit{justify-content:space-between;margin-top:4px}.auth-note{text-align:center;font-size:11px;color:var(--muted);margin-top:23px}.copyright{position:absolute;bottom:18px;font-size:11px;color:var(--muted)}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;background:var(--dark);color:#c4d0d9;padding:28px 18px 18px;display:flex;flex-direction:column;overflow:auto}.sidebar .logo-box{margin:0 15px 26px}.workspace{margin:0 10px 33px;font-weight:600;color:#eef3f6;font-size:14px}.workspace small{display:block;color:#b6c5cf;margin-top:4px}.nav-label{font-size:9px;letter-spacing:1.6px;color:#b6c5cf;padding:0 12px;margin-bottom:12px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:13px;padding:13px;border-radius:7px;font-size:13px}.nav-link.active,.profile.selected{background:#3c5364;color:#f0f3f5}.nav-link:hover,.logout:hover{background:#354b5b}.sidebar-bottom{margin-top:auto;padding-top:50px}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid #485967;padding:18px 7px;color:#eef3f6}.avatar{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#c3d0d9;color:#304959;font-weight:600;flex-shrink:0}.profile-name{font-size:12px;font-weight:600;overflow-wrap:anywhere;min-width:0}.profile-name small{display:block;color:#b6c5cf;font-size:11px}.profile>.icon{width:14px;margin-left:auto}.logout{border:0;background:transparent;color:#b6c5cf;display:flex;align-items:center;gap:10px;padding:10px;width:100%;border-radius:6px;font-size:12px}.main-column{margin-left:244px;min-height:100svh;display:flex;flex-direction:column}.topbar{min-height:73px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;background:#e7ecf0;border-top:4px solid #a97069;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.topbar strong{font-weight:500;color:var(--ink)}.topbar div>span{margin:0 14px;color:#8a9da9}.topbar-note{font-size:9px;letter-spacing:1.5px}.content{padding:35px 32px;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{color:var(--muted);margin-top:12px;line-height:1.7;font-size:13px}.date-chip,.badge{background:#dfe7ed;border:1px solid #c1cfd8;border-radius:5px;padding:7px 11px;font-size:11px;white-space:nowrap;color:#506877}.date-chip{padding:10px 13px}.role-label{font-size:12px;color:var(--muted);margin-bottom:14px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:26px}.stat-card{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:22px}.stat-card>div{display:flex;justify-content:space-between;align-items:center;color:#506877;font-size:13px}.stat-card strong{display:block;margin:22px 0;font-size:38px;font-weight:400;color:#6c8594}.primary-stat{background:#ccdce5;border-color:#a9bfcc}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 25px;border-bottom:1px solid var(--line)}.panel-heading h2{display:flex;align-items:center;gap:9px}.panel-body{padding:25px}.panel-body .muted{margin-top:10px}.empty{min-height:340px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:45px 25px}.empty-icon{background:#d8e3ea;color:#557589;border:1px solid #bfced9;border-radius:17px;padding:17px;margin-bottom:22px}.empty-icon .icon{width:28px;height:28px}.empty p{max-width:440px;color:var(--muted);font-size:13px;line-height:1.8;margin:13px 0 22px}.profile-grid{display:grid;grid-template-columns:minmax(260px, .85fr) minmax(320px,1.15fr);gap:24px;align-items:start;max-width:1100px}.profile-right{display:grid;gap:24px}.tabs{display:flex;gap:8px;margin-bottom:23px;border-bottom:1px solid var(--line)}.tabs a{padding:13px 18px;color:var(--muted);font-size:13px;border-bottom:3px solid transparent}.tabs a.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{background:#ccd7df;padding:15px 25px;font-size:11px;font-weight:600;color:#354a59}td{padding:20px 25px;border-bottom:1px solid #ced9e0;overflow-wrap:anywhere}.app-footer{display:flex;justify-content:space-between;padding:18px 32px;font-size:10px;color:var(--muted)}
@media(min-width:1600px){.content{padding:40px 46px}.topbar,.app-footer{padding-left:46px;padding-right:46px}}
@media(max-width:1000px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.sidebar .logo-box{margin-left:6px}.main-column{margin-left:210px}.content{padding:28px 22px}.topbar-note{display:none}.stats-grid{gap:12px}.stat-card{padding:17px}.profile-grid{grid-template-columns:1fr}.auth-main{padding:40px 8%}}
@media(max-width:680px){.auth-layout{display:block}.auth-brand{padding:22px}.auth-brand .logo-box{width:135px;height:62px}.auth-message{padding:25px 0 10px}.auth-message h1{font-size:28px}.auth-message p,.auth-rule,.auth-modules,.auth-brand footer{display:none}.auth-main{padding:30px 24px 55px}.auth-form h2{font-size:25px}.sidebar{position:relative;width:100%;padding:16px}.sidebar .logo-box{width:130px;height:56px;margin:0 0 15px}.workspace,.nav-label{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar-bottom{padding-top:14px;margin-top:5px;display:flex;align-items:center;justify-content:space-between}.profile{border:0;padding:8px 0;max-width:70%}.profile>.icon{display:none}.logout{font-size:11px}.main-column{margin-left:0;min-height:60svh}.topbar{min-height:55px;padding:14px 20px}.content{padding:26px 18px}.page-heading{align-items:flex-start}.date-chip{display:none}.stats-grid{grid-template-columns:1fr}.stat-card strong{margin:12px 0;font-size:30px}.stat-card{padding:18px}.empty{min-height:300px}.panel-heading{padding:19px}.panel-heading h2{font-size:15px}.panel-body{padding:20px}.tabs{gap:0}.tabs a{padding:12px}.app-footer{padding:18px}}

/* Profile and activity dictionary */
.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:20px}
.profile-grid>.panel{min-width:0}
.profile-grid .panel-heading{flex-wrap:wrap;padding:20px}
.profile-grid .panel-body{padding:20px}
.profile-grid .panel-heading h2{font-size:16px}
.tabs{flex-wrap:wrap}
.activity-add{flex-direction:row;align-items:flex-end;gap:12px;max-width:720px}
.activity-add label{flex:1;min-width:0}
.activity-list{margin:0;padding:0;list-style:none}
.activity-row{display:flex;align-items:flex-start;gap:16px;padding:20px 25px;border-top:1px solid var(--line)}
.activity-position{color:var(--muted);padding-top:12px;min-width:22px;font-size:12px}
.activity-content{flex:1;min-width:0;padding-top:10px}
.activity-content>strong{overflow-wrap:anywhere;font-weight:600}
.activity-edit{margin-top:8px}
.activity-edit summary{cursor:pointer;color:var(--primary);font-size:12px;width:fit-content}
.activity-edit form{margin-top:15px}
.activity-actions{display:flex;gap:7px;align-items:center}
.move-button{padding:8px 13px;font-size:18px}
.delete-button{color:#873c36!important}
.button:disabled{opacity:.4;cursor:default}
.dictionary-empty{padding:20px 25px 35px;color:var(--muted);font-size:13px}
@media(max-width:1100px){.profile-grid{grid-template-columns:1fr 1fr}.profile-grid>.panel:last-child{grid-column:1/-1}}
@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.profile-grid>.panel:last-child{grid-column:auto}.activity-row{flex-wrap:wrap;gap:10px;padding:18px}.activity-actions{margin-left:auto}.activity-add{flex-wrap:wrap}.activity-add label{flex-basis:100%}}
/* Daily work cards */
.workcard-actions{margin-bottom:24px}
.work-filters{display:flex;align-items:flex-end;gap:16px;padding:22px 24px;flex-wrap:wrap}
.work-filters label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}
.work-filters input,.work-filters select,.form-stack select{font:inherit;color:var(--ink);background:#f0f3f5;border:1px solid #b9c7d1;border-radius:6px;padding:11px 12px;min-height:44px;max-width:100%}
.work-search{flex:1;min-width:240px}.work-filters select[name=employee]{min-width:200px}
.filter-clear{font-size:12px;align-self:center;color:var(--primary)}
.workcards-table{min-width:620px}.workcards-table td{vertical-align:middle}.workcards-table th:first-child{width:65px}
.expand-card{border:1px solid #b8c7d1;background:#dfe7ed;border-radius:5px;color:var(--primary);width:32px;height:32px;font-size:21px}
.work-details>td{padding:18px 25px;background:#dce6ed}.work-details table{background:var(--panel)}.work-details table th{background:#d4dfe6}.work-details td{font-size:12px}
.work-empty{text-align:center;padding:65px 25px;color:var(--muted)}
.work-pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:18px 24px;font-size:12px;color:var(--muted)}
.work-pagination>div{display:flex;align-items:center;gap:15px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#workcard-dialog{width:min(850px,calc(100% - 32px));max-height:90svh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 20px 90px #142b4150}
#workcard-dialog::backdrop{background:#1c2b3b88}
.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.dialog-heading h2{font-size:22px}
.close-dialog{background:transparent;border:0;color:var(--muted);font-size:28px;width:36px;height:36px}
.work-global{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}
.work-entry{margin:0 0 16px;padding:20px;border:1px solid #bacbd5;border-radius:8px;background:#e2eaf0;min-width:0}
.work-entry legend{font-size:12px;color:#506877;padding:0 8px}
.entry-fields{display:grid;grid-template-columns:1.1fr 1.5fr .7fr;gap:15px}.entry-fields>label{min-width:0}
.remove-entry{background:transparent;border:0;color:#873c36;font-size:12px;padding:0;margin-top:15px}.remove-entry[hidden]{display:none}
.work-dialog-footer{display:flex;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:680px){.work-filters{padding:18px;gap:12px}.work-search{min-width:100%}.work-global,.entry-fields{grid-template-columns:1fr}.work-dialog-footer{gap:10px}#workcard-dialog{padding:20px}.work-entry{padding:15px}.work-pagination{padding:16px}}
/* Compact work-card rows and nested detail table. */
.workcards-table>thead>tr>th{height:42px;padding:10px 16px;line-height:20px}
.workcards-table>tbody>.workcard-row>td{height:42px;padding:6px 16px;line-height:20px;white-space:nowrap}
.workcards-table>thead>tr>th:first-child{width:55px}
.workcards-table>thead>tr>th:nth-child(2){width:48px}
.workcards-table .expand-card{display:block;width:28px;height:28px;line-height:24px;font-size:19px;padding:0}
.workcards-table>tbody>.work-details>td{padding:12px 16px 16px 55px}
.work-entry-table{border:1px solid #bacbd5}
.work-entry-table th,.work-entry-table td{height:36px;padding:7px 14px;line-height:20px}
.work-entry-table th:first-child{width:55px}
.work-entry-table th:last-child{width:150px}
/* Equal detail insets; shared right edge for the hours column. */
.workcards-table{table-layout:fixed}
.workcards-table>thead>tr>th:nth-child(3){width:135px}
.workcards-table>thead>tr>th:nth-child(5){width:95px}
.workcards-table>thead>tr>th:last-child{width:150px}
.workcards-table>tbody>.workcard-row>td:nth-child(4){white-space:normal;overflow-wrap:anywhere}
.workcards-table>tbody>.work-details>td{padding:12px 16px 16px}
.work-entry-table{table-layout:fixed;border:0;outline:1px solid #bacbd5}
.work-entry-table th,.work-entry-table td{padding-left:16px;padding-right:16px}
.work-entry-table th:nth-child(2){width:32%}
.work-entry-table th:last-child{width:134px}
.workcards-table .expand-card{display:flex;align-items:center;justify-content:center;line-height:1;padding:0}
.parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px}
.parameter-card{border:1px solid var(--line);border-radius:8px;padding:24px;background:#e2eaf0}
.parameter-card h2{margin-bottom:24px}
.parameter-card .button{align-self:flex-start}
.app-dialog{width:min(620px,calc(100% - 32px));max-height:90svh;overflow:auto;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);box-shadow:0 20px 90px #142b4150}
.app-dialog::backdrop{background:#1c2b3b88}
.form-stack textarea{font:inherit;padding:12px;resize:vertical;border:1px solid #b9c7d1;border-radius:6px;background:#f0f3f5;color:var(--ink)}
.client-footer{display:flex;justify-content:flex-end}
.clients-table{min-width:620px}
.clients-table th,.clients-table td{padding:11px 16px;line-height:20px}
.clients-table th:first-child{width:55px}
.clients-table th:last-child{width:150px}
@media(max-width:760px){.parameter-grid{grid-template-columns:1fr;padding:16px}.parameter-card{padding:18px}}
.workcards-table .expand-card{position:relative;font-size:0}
.workcards-table .expand-card::before,.workcards-table .expand-card::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;width:10px;height:1px}
.workcards-table .expand-card[aria-expanded="false"]::after{width:1px;height:10px}
.parameters-form{padding:24px;align-items:flex-start;gap:20px}
.parameters-form label{gap:8px}
.parameters-form input{width:140px;height:40px}
.parameters-form>.button{margin-top:4px}
.parameters-form>.button{align-self:flex-end}
.dictionary-section>summary{display:flex;align-items:center;gap:12px;padding:22px 24px;cursor:pointer;list-style:none;font-weight:600}
.dictionary-section>summary::-webkit-details-marker{display:none}
.dictionary-section>summary span{font-size:11px;color:var(--muted);font-weight:400}
.dictionary-section>summary::after{content:"⌄";margin-left:auto;color:var(--muted)}
.dictionary-section[open]>summary{border-bottom:1px solid var(--line)}
.dictionary-section[open]>summary::after{content:"⌃"}
.dictionary-body{padding:20px 24px 26px}
.dictionary-items{list-style:none;padding:0;margin:0;max-width:420px}
.dictionary-item{display:flex;gap:10px;align-items:center;min-height:42px;border-radius:5px}
.dictionary-handle{width:22px;height:32px;border:0;background:transparent;color:#8b9da9;cursor:grab;padding:5px;touch-action:none;flex-shrink:0}
.dictionary-handle svg{width:12px;height:18px;fill:currentColor;display:block}
.dictionary-item.dragging{background:#d2dfe8;outline:1px solid #98b0c0}
.dictionary-item.dragging .dictionary-handle{cursor:grabbing}
.dictionary-name{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:var(--ink);padding:8px 0;font-size:13px;overflow-wrap:anywhere}
.dictionary-name:hover{color:var(--primary)}
.dictionary-edit-form{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.dictionary-edit-form input,.dictionary-add input{min-width:0;flex:1;background:#f0f3f5;color:var(--ink);border:1px solid #b9c7d1;border-radius:5px;padding:9px 10px;font:inherit;font-size:13px}
.dictionary-edit-form input{width:100%}
.dictionary-check,.dictionary-delete button{border:0;background:transparent;color:var(--muted);width:28px;height:32px;padding:0;font-size:19px;flex-shrink:0}
.dictionary-check{color:var(--primary)}
.dictionary-delete{margin-left:auto}
.dictionary-delete button:hover{color:#873c36}
.dictionary-add{display:flex;gap:12px;max-width:420px;padding-top:20px;margin-top:22px;border-top:1px solid var(--line)}
.dictionary-name[hidden],.dictionary-edit-form[hidden]{display:none}
@media(max-width:480px){.dictionary-body{padding:16px}.dictionary-add{gap:8px}.dictionary-add .button{padding:10px 12px}}
.dictionary-default{display:flex;align-items:center;margin:0}
.dictionary-default input{width:15px;height:15px;margin:0;accent-color:var(--primary);cursor:pointer}
.users-table{min-width:880px}
.users-table th,.users-table td{padding:11px 16px;line-height:20px}
.users-table th:first-child{width:55px}
.users-table th:last-child{width:160px}
.edit-control{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #b8c7d1;border-radius:5px;color:var(--primary);background:#dfe7ed}
.edit-control .icon{width:15px;height:15px}
.users-table th:nth-child(2),.clients-table th:nth-child(2),.contacts-table th:nth-child(2){width:55px}
.contacts-table{min-width:640px}
.contacts-table td,.contacts-table th{padding:10px 16px}
.contacts-table th:first-child{width:55px}
.client-detail-heading{margin-bottom:24px}
.client-detail-heading h1{margin-top:16px;overflow-wrap:anywhere}
/* Minimal ordinal columns, including nested work-card entries. */
:is(.users-table,.clients-table,.contacts-table,.workcards-table,.work-entry-table)>thead>tr>th:first-child,
:is(.users-table,.clients-table,.contacts-table,.workcards-table,.work-entry-table)>tbody>tr>td:first-child:not([colspan]){width:1%;padding-left:8px;padding-right:8px;white-space:nowrap;text-align:center}
:is(.workcards-table,.work-entry-table)>thead>tr>th:first-child{width:36px}
/* Team list and inline account form. */
.team-toolbar{display:flex;justify-content:flex-end;margin-bottom:24px}
.team-editor{margin-bottom:24px;padding:24px 0 0}
.team-editor[hidden]{display:none}
.team-editor>.dialog-heading{padding:0 24px;margin-bottom:28px}
.team-cancel{font-size:24px;color:var(--muted)}
.team-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px;padding:0 24px}
.team-fields label{min-width:0;font-weight:400}
.team-fields small{font-size:11px}
.team-form-footer{display:flex;justify-content:flex-end;padding:18px 24px;border-top:1px solid var(--line);margin-top:8px}
.team-table{min-width:620px}
.team-table th{padding:10px 18px}
.team-table td{padding:10px 18px;vertical-align:middle}
.team-table tr:last-child td{border-bottom:0}
.team-table th:first-child{width:35%}
.team-table th:nth-child(2){width:18%}
.team-table th:nth-child(3){width:24%}
.team-table td strong{display:block;font-weight:600}
.team-table td small{display:block;font-size:11px;margin-top:3px}
.account-status{display:inline-block;border-radius:5px;padding:6px 10px;font-size:11px;white-space:nowrap}
.account-status.is-active{background:#dcefe7;color:#287356}
.account-status.is-inactive{background:#eee0df;color:#914c47}
.account-access{color:var(--primary);font-size:12px;white-space:nowrap}
.account-access:hover{text-decoration:underline}
@media(max-width:850px){.team-fields{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.team-fields{grid-template-columns:1fr}}
/* Shared workspace gutters across all CRM sections and screen sizes. */
.content,.topbar,.app-footer{padding-left:20px;padding-right:20px}
.password-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.password-generator{display:flex;gap:8px;align-items:center}
.password-generator input{flex:1;min-width:0;width:0}
.password-generator .button{flex-shrink:0;height:46px;padding:10px 14px}
.password-field [data-password-feedback]:empty{display:none}
.password-generate{flex-shrink:0;padding:6px 12px;border:1px solid var(--primary);border-radius:6px;background:transparent;color:var(--primary);font-size:13px;font-weight:400;line-height:1.5}
.password-generate:hover{background:#dfe7ed}
.password-generate:disabled{opacity:.65}
.workcard-actions-right{display:flex;justify-content:flex-end}
.work-save-actions{display:flex;gap:10px;align-items:center}
.team-table th:first-child,.team-table td:first-child:not([colspan]){width:1%;white-space:nowrap;padding-left:8px;padding-right:8px;text-align:center}
.team-table th:nth-child(2){width:50px}
.team-table th:nth-child(3){width:34%}
.team-table th:nth-child(4){width:18%}
.team-table th:nth-child(5){width:18%}
.permissions-form{padding:20px}
.permission-intro{margin-bottom:18px}
.permission-node{border:1px solid var(--line);border-radius:6px;margin:8px 0}
.permission-node>summary{padding:14px 16px;cursor:pointer;font-weight:600}
.permission-children{border-top:1px solid var(--line);padding:8px 18px 14px}
.permission-choice{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:13px}
.permission-choice input{accent-color:var(--primary);width:16px;height:16px}
.permission-filtered{table-layout:auto}
.permission-filtered>thead>tr>th{width:auto!important}
.permission-filtered>thead>tr>th[data-column="lp"]{width:36px!important}
.permission-filtered>thead>tr>th[data-column="edit"],.permission-filtered>thead>tr>th[data-column="expand"]{width:50px!important}
.permission-filtered>thead>tr>th[data-column="hours"]{width:150px!important}
.work-entry-table.permission-filtered>thead>tr>th[data-column="hours"]{width:134px!important}
.password-input-wrap{position:relative;flex:1;min-width:0}
.password-generator .password-input-wrap input{width:100%;padding-right:42px}
.password-visibility{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:6px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center}
.password-visibility svg{width:20px;height:20px}
.password-visibility .eye-slash{display:none}
.password-visibility[aria-pressed="true"] .eye-slash{display:block}
.password-help [data-password-feedback]{color:#287356}
.password-help:empty{display:none}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0}
.breadcrumbs>span{color:#8a9da9}
.team-table th:nth-child(3){width:30%}
.team-table th:nth-child(4),.team-table th:nth-child(5),.team-table th:nth-child(6){width:auto}
.offers-table,.orders-table{min-width:1000px}
.offers-table th,.offers-table td,.orders-table th,.orders-table td{padding:11px 14px}
.offers-table th:first-child,.orders-table th:first-child{width:36px}
.business-name{display:block;font-size:11px}
.business-dialog{width:min(900px,calc(100% - 32px))}
.business-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.business-fields>div>label{margin-bottom:8px}
.contact-picker{display:flex;gap:8px;align-items:center}
.contact-picker select{flex:1;min-width:0}
.contact-picker button{padding:0;width:40px;height:46px;font-size:22px;flex-shrink:0}
.business-contacts{border:1px solid var(--line);border-radius:6px;padding:14px;min-width:0}
.business-contacts legend{font-size:13px;padding:0 6px}
#offer-contacts{display:flex;flex-wrap:wrap;gap:8px 22px;max-height:160px;overflow:auto}
#offer-contacts label{display:flex;flex-direction:row;align-items:center;gap:8px}
#offer-contacts label[hidden]{display:none}
#offer-contacts input{width:16px;height:16px;accent-color:var(--primary)}
@media(max-width:640px){.business-fields{grid-template-columns:1fr}}
/* Quiet clock and remaining idle-session time in the shared header. */
.header-status{display:flex;align-items:center;gap:22px;flex-shrink:0;font-variant-numeric:tabular-nums}
.header-clock{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
#header-date{font-size:10px;color:var(--muted)}
#header-time{font-size:15px;color:var(--ink);letter-spacing:.4px}
.header-session{display:grid;grid-template-columns:6px auto;gap:4px 8px;align-items:center;border-left:1px solid var(--line);padding-left:20px;font-size:10px;color:var(--muted)}
.session-dot{width:5px;height:5px;border-radius:50%;background:#668c7a}
#session-countdown{grid-column:2;font-size:13px;font-weight:500;color:var(--ink);letter-spacing:.4px}
.header-session.expiring .session-dot{background:#ad7953}
.header-session.expiring #session-countdown{color:#985f34}
@media(max-width:680px){.topbar{flex-wrap:wrap}.header-status{margin-left:auto;gap:16px}.header-session{padding-left:16px}}
.permission-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}
.permission-row>span{font-size:13px}
.permission-options{display:grid;grid-template-columns:76px 98px 80px;gap:20px;flex-shrink:0}
.permission-options .permission-choice{font-size:12px}
@media(max-width:800px){.permission-row{align-items:flex-start;flex-direction:column}.permission-options{gap:12px;align-self:flex-end}}

/* Nested cards share the right edge, keeping permission columns aligned. */
.permission-children>.permission-node{margin-right:-19px;border-top-right-radius:0;border-bottom-right-radius:0}

/* Compact mobile navigation; desktop sidebar keeps its existing layout. */
.sidebar-brand{flex-shrink:0}
.sidebar-menu{display:flex;flex-direction:column;flex:1}
.mobile-identity,.mobile-menu-toggle{display:none}
@media(max-width:760px){
 .sidebar{position:sticky;top:0;inset:auto;top:0;width:100%;padding:12px 20px;overflow:visible;z-index:30;box-shadow:0 2px 10px #142b4120}
 .sidebar-brand{display:flex;align-items:center;gap:14px;min-width:0}
 .sidebar .logo-box{width:64px;height:44px;padding:5px 8px;margin:0;flex-shrink:0}
 .mobile-identity{display:block;flex:1;min-width:0;color:#eef3f6;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
 .mobile-identity small{display:block;font-size:10px;color:#b6c5cf}
 .mobile-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;flex-shrink:0;padding:10px;border:1px solid #647584;border-radius:7px;background:transparent;color:#eef3f6}
 .mobile-menu-toggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px}
 .mobile-menu-toggle[aria-expanded=true]{background:#456d83}
 .sidebar-menu{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 20px 18px;background:var(--dark);border-top:1px solid #495965;box-shadow:0 10px 18px #142b4130;max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain}
 .sidebar.menu-open .sidebar-menu{display:flex}
 .sidebar .workspace,.sidebar .nav-label{display:none}
 .sidebar nav{display:flex;flex-direction:column;gap:4px}
 .sidebar .nav-link{min-height:44px}
 .sidebar-bottom{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #495965}
 .sidebar-bottom .profile{display:none}
 .sidebar .logout{font-size:13px;min-height:44px;width:100%;justify-content:flex-start}
 .main-column{margin-left:0;min-width:0;min-height:calc(100svh - 68px)}
 .header-status{display:none}
 .topbar{min-height:50px;padding:12px 20px}
}