/* Customer management: warm white, graphite and restrained brass accents. */
:root{--canvas:#f5f2ef;--paper:#fffdfa;--ink:#323539;--muted:#6a6d71;--line:#e5dcd9;--rose:#65686c;--rose-dark:#494c50;--rose-light:#efedeb;--sage:#686b6f;--sage-light:#f1efed;--radius:22px}
body{background:var(--canvas);color:var(--ink);font-size:18px}h1{font-weight:750;letter-spacing:.3px}h2{letter-spacing:.1px}.content{background:transparent}.sidebar{background:#fcfaf7;border-color:#e6dfdb}.sidebar .brand-icon{background:#eceae8;color:#63666a;border:1px solid #dbd9d7}.brand-name{font-weight:750}.nav-item.active{background:#e8e6e4;color:#484b4f}.side-foot{font-size:14px}
.page-header{margin-bottom:25px}.page-header .eyebrow{font-size:16px;color:#74777b;letter-spacing:.25px;margin-bottom:7px}.heading-title-line{display:flex;align-items:center;gap:11px}.brand-emblem{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#e7e5e3;border:1px solid #d8d6d4;color:#5d6064;border-radius:12px}.brand-emblem svg{width:27px;height:27px}.header-actions .button{border-color:#dddbd9;background:#fffcf9;box-shadow:0 3px 10px #5d4c4b06;font-size:17px;font-weight:600}
.home-studio{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:22px;margin-bottom:26px;align-items:stretch}
.folio-cover{position:relative;background:#4b4e52;border:1px solid #5a5d61;border-radius:25px;padding:25px 27px 20px;box-shadow:0 12px 30px #4f525620;overflow:hidden;color:#fffaf7}
.folio-cover::before{content:'';position:absolute;top:0;bottom:0;left:10px;width:1px;background:#ffffff16;pointer-events:none}.folio-cover::after{content:'';position:absolute;inset:1px;border:1px solid #ffffff0b;border-radius:24px;pointer-events:none}
.cover-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:1}.cover-kicker{font-size:15px;letter-spacing:2px;color:#dfdddb}.cover-state{display:flex;align-items:center;gap:6px;font-size:14px;color:#edebe9;white-space:nowrap}.cover-state i{height:6px;width:6px;background:#d7d5d3;border-radius:50%;box-shadow:0 0 0 3px #e2e0de12}
.cover-story{position:relative;min-height:176px;display:flex;align-items:center;margin-top:8px}.cover-copy{position:relative;z-index:2;padding:10px 0}.cover-copy h2{font-size:32px;line-height:1.4;font-weight:650;letter-spacing:1.2px;color:#fffaf7}.cover-copy p{font-size:17px;color:#e3e1df;line-height:1.8;margin-top:12px}
.cover-action{display:flex;align-items:center;gap:12px;position:relative;z-index:2;background:#fffcf6;color:#494c50;border:1px solid #f1e6d8;border-radius:15px;min-height:64px;padding:12px 19px;margin-top:10px;box-shadow:0 4px 12px #21242818;text-decoration:none}.cover-action strong{font-size:22px;font-weight:700;flex:1}.cover-action .action-icon{display:grid;place-items:center;border:1px solid #d6d4d2;border-radius:10px;width:33px;height:33px;background:#f0eeec}.cover-action .action-icon svg{width:20px;height:20px}.cover-action>svg{width:19px;color:#6a6d71}
.query-door{display:flex;align-items:center;gap:18px;border:1px solid #e0dedc;border-radius:24px;background:#fffdf9;padding:26px 23px;color:#43464a;box-shadow:0 6px 22px #53565a07;text-decoration:none}.query-door .query-icon{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border-radius:17px;border:1px solid #dcdad8;background:#efedeb;color:#6a6d71}.query-door .query-icon svg{width:28px;height:28px}.query-door>span:nth-child(2){flex:1;min-width:0}.query-door strong{font-size:23px;display:block;font-weight:700;line-height:1.45}.query-door small{display:block;font-size:17px;color:#73767a;line-height:1.65;margin-top:7px}.query-door>svg{width:19px;color:#86898d}
.panel{background:#fffdfa;border-color:#e4dbd9;border-radius:22px;box-shadow:0 5px 20px #4d505405}.recent-saves{max-width:none}.recent-saves .panel-title{padding:24px 25px 15px;align-items:center}.section-kicker{font-size:13px;color:#8d766e;display:block;letter-spacing:1.5px;margin-bottom:5px}.recent-saves .panel-title h2{font-size:22px}.saved-count{font-size:16px;border:1px solid #dfd5d2;border-radius:9px;color:#75787c;padding:4px 10px;background:#faf5f0;white-space:nowrap}
.recent-saves .today-list{padding:0 25px 17px}.recent-save{display:grid;grid-template-columns:46px minmax(0,1fr) auto 15px;gap:13px;align-items:center;border-bottom:1px solid #ede4e0;padding:21px 0}.recent-save:last-child{border-bottom:0}.entry-mark{display:grid;place-items:center;align-self:start;background:#edebe9;border:1px solid #dddbd9;color:#686b6f;border-radius:14px;width:46px;height:46px;font-size:21px;font-weight:600}.entry-copy{display:block;min-width:0}.entry-copy>strong{display:block;font-size:20px;font-weight:650;overflow-wrap:anywhere}.entry-projects{display:block;font-size:17px;color:#717478;margin-top:6px;overflow-wrap:anywhere;line-height:1.65}.entry-confirmed{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:#6a6d71;margin-top:9px}.entry-confirmed svg{width:14px;height:14px}.recent-save>.service-price{align-self:start;margin:4px 0 0;font-size:21px;font-weight:700;white-space:nowrap}.recent-save>.service-price.unknown{font-size:14px;font-weight:400}.recent-save>svg{height:16px;width:16px;color:#a5a8ac}
.button{border-radius:13px;border-color:#dad8d6;background:#fffdfa;font-weight:650}.button.primary{background:#65686c;border-color:#65686c;color:#fffdfa;box-shadow:0 4px 12px #5b5e6215}.button.primary:hover{background:#525559}.button.soft{background:#f1efed;border-color:#e0dedc}.button.ghost{background:transparent;box-shadow:none}.icon-button{border-color:#e1dfdd;background:#fffdfa;border-radius:13px}
.input{background:#fffcfa;border-color:#d6d4d2;border-radius:12px;color:#3b3e42;min-height:58px;font-size:20px}.input::placeholder{color:#7e8185}.input:focus{border-color:#878a8e;box-shadow:0 0 0 4px #ebe9e7}.search-wrap input{background:#faf5f4;border-color:#d7d5d3;font-size:20px;height:64px}.search-wrap input::-webkit-search-cancel-button{-webkit-appearance:none}
.query-workspace{max-width:780px}.customer-row{border-color:#eee3e0}.customer-open:hover{background:#f9f7f5}.avatar{background:#edebe9;color:#717478;border:1px solid #dfdddb;border-radius:14px}.avatar.rose{background:#ebe9e7;color:#696c70;border-color:#d8d6d4}.customer-phone{color:#73767a;font-size:17px}.customer-last{font-size:16px}.quick-record{color:#64676b;border-radius:10px}.quick-record:hover{background:#eceae8}
.step-progress{display:flex;align-items:center;gap:10px;margin:0 0 17px;padding:0 5px;min-height:43px;max-width:640px}.progress-step{display:flex;align-items:center;gap:7px;color:#8e9195;font-size:16px;white-space:nowrap}.progress-step b{width:25px;height:25px;display:grid;place-items:center;border:1px solid #d7d5d3;border-radius:50%;font:600 14px var(--utility);background:#f8f4f3}.step-progress>i{height:1px;flex:1;min-width:13px;background:#dacecf}.progress-step.active{color:#575a5e;font-weight:700}.progress-step.active b{background:#65686c;color:white;border-color:#65686c}.progress-step.done b{background:#eceae8;border-color:#dbd9d7;color:#64676b}
.form-panel{border-color:#dedcda;padding:28px}.stage-title{display:flex;align-items:center;gap:11px;font-size:23px;color:#424549;border-bottom:1px solid #ece1e2;padding-bottom:20px;margin-bottom:23px}.step-number{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;border:1px solid #d8d6d4;background:#efedeb;color:#6c6f73;border-radius:12px;font:650 20px var(--utility)}.field-label{font-size:18px}.required-dot{color:#777a7e}.field-help{font-size:16px;color:#74777b;line-height:1.75}.type-choice{border-color:#d6d4d2;background:#fffcfa;min-height:58px;box-shadow:none;border-radius:13px}.type-choice.selected{border:2px solid #797c80;background:#eeecea;color:#63666a}.new-customer-fields{background:#fcf7f5;border-color:#e0dedc;border-radius:15px}.new-customer-title{color:#6f7276}.more-details{border-color:#e4d9da}.more-details summary{font-size:17px;color:#727579;min-height:48px}.customer-candidates{border-color:#e2e0de;border-radius:16px}.candidate{background:#fffdfa;border-color:#eceae8;min-height:78px;padding:17px}.candidate:hover{background:#f5f3f1}
.service-person{background:#f7f5f3;border-color:#dad8d6;border-radius:16px;padding:17px;margin-bottom:25px}.service-person strong{font-size:21px}.service-person p{font-size:18px;color:#7c7f83}.service-person .button{background:#fffcfa;border-color:#d7d5d3;color:#696c70}.project-option{border-radius:12px;border-color:#d5d3d1;background:#fffcfa;min-height:56px;font-size:18px;padding:12px 15px;color:#585b5f;box-shadow:0 2px 5px #5f626604}.project-option.selected{background:#65686c;border-color:#65686c;color:#fffdfb;box-shadow:0 4px 9px #63666a14}.project-option.selected::before{font-weight:750}.project-chip{background:#e9e7e5;color:#696c70;border:1px solid #d7d5d3;border-radius:10px;font-size:18px}.project-chip button{color:#787b7f}.money-input>span{font-size:21px;color:#84878b;top:14px}.money-input .input{font-size:24px;font-weight:650;letter-spacing:.3px;background:#fefcfa;border-color:#d6d4d2;color:#65686c}.date-change{color:#7b7e82}.section-separator{background:#e5e3e1}
.form-shell .form-footer{background:#fffbf8f5;backdrop-filter:blur(14px);border-color:#e1dfdd;box-shadow:0 -6px 24px #676a6e09}.form-shell .form-footer .button.primary{min-height:64px;background:#65686c;box-shadow:0 5px 14px #64676b16}.form-shell .save-status{font-size:16px;color:#777a7e;margin-top:8px}
.profile{background:#fffcfa;border-color:#dedcda;padding:26px}.profile h2{font-size:28px}.profile-phone{font-size:21px;color:#7c7f83}.profile-meta{border-color:#e3e1df}.profile-label{color:#888b8f;font-weight:600}.profile-meta p{font-size:18px}.record-stats{font-size:16px}.day-heading{font-size:20px;color:#63666a}.day-heading .day-line{background:#dcdad8}.tag.today{color:#65686c;background:#eeecea;border:1px solid #dddbd9}.record-card{background:#fffdfa;border-color:#e0dedc;border-radius:19px;padding:23px;box-shadow:0 4px 15px #5f626604}.record-projects{font-size:21px}.record-card .icon-button{border:1px solid #e5e3e1;background:#f5f3f1;color:#8c8f93}.service-price{font-size:22px;color:#727579;font-weight:650}.service-price.unknown{font-size:16px;color:#878a8e;font-weight:400}
.saved-card{max-width:650px;position:relative;margin:18px auto 0;text-align:center}.saved-check{width:83px;height:83px;background:#f0eeec;color:#6a6d71;box-shadow:0 0 0 8px #faf8f1,0 0 0 9px #e6e4e2;border:1px solid #dfdddb;margin-bottom:26px}.saved-check svg{width:40px;height:40px}.saved-card h1{font-size:34px;color:#575a5e;font-weight:650;letter-spacing:2px}.saved-explain{font-size:18px;color:#76797d;margin:13px 0 32px}
.receipt-label{position:relative;display:flex;align-items:center;justify-content:space-between;background:#f0e7e7;border:1px solid #dfdddb;border-bottom:0;border-radius:21px 21px 0 0;padding:20px 24px;color:#6d7074;font-size:17px;text-align:left}.receipt-stamp{display:inline-block;border:2px double #7f8286;border-radius:4px;color:#707377;padding:3px 8px;font-size:17px;letter-spacing:2px;transform:rotate(-7deg);font-weight:650;background:#f4f1e9}
.saved-summary{background:#fffdf7;border:1px solid #dfdddb;border-top:1px dashed #d3d1cf;border-radius:0 0 21px 21px;padding:5px 24px;box-shadow:0 8px 25px #6164680a;text-align:left}.saved-summary>div{border-color:#ebe1df;padding:19px 0;grid-template-columns:58px 1fr;gap:14px}.saved-summary dt{font-size:17px;color:#8f9296}.saved-summary dd{font-size:20px;color:#45484c}.saved-summary dd span{font-size:18px;color:#8b8e92}.saved-summary>div:nth-child(3) dd{font-size:28px;color:#6a6d71;font-weight:650}.saved-actions{gap:11px;margin-top:26px}.saved-actions .button{min-height:62px;border-radius:14px}.saved-actions .button.ghost{font-size:18px;color:#83868a}
.settings-group h2{color:#595c60;font-size:22px}.settings-row{background:#fffdfa;border-color:#e3e1df;min-height:91px}.settings-row:hover{background:#f7f5f3}.settings-row>svg:first-child{color:#8b8e92}.row-title{font-size:20px}.settings-note{font-size:16px;line-height:1.85}.draft-banner{background:#f6ede5;border-color:#e3d0c0;color:#79574f}.draft-banner button{color:#777a7e}.dialog{background:#fffcf8;border-color:#dad8d6;border-radius:24px;box-shadow:0 22px 65px #4c4f5332}.dialog::backdrop{background:#393c4066;backdrop-filter:blur(3px)}.dialog h2{font-size:25px}.dialog p{font-size:18px;color:#7e8185}.dialog-actions .button{min-height:58px}.dialog .candidate{background:#fffaf8;border-color:#dfdddb}
.mobile-nav{background:#fffcf8f2;border-color:#e4e2e0;border-top:1px solid #e4e2e0;box-shadow:0 -4px 20px #696c7006;backdrop-filter:blur(16px)}.mobile-nav a{color:#8d9094}.mobile-nav a.active{background:#e9e7e5;color:#74777b}.mobile-nav a.record-nav{background:#65686c;color:#fcfaf8;box-shadow:0 4px 10px #65686c16;border:1px solid #74777b}.mobile-nav svg{stroke-width:1.65}
.lock-screen{background:#f5f0ed}.lock-card{background:#fffaf5;border-color:#dddbd9;box-shadow:0 14px 45px #6a6d710b}.lock-card .brand-icon{background:#ebe9e7;border-color:#dddbd9;color:#787b7f}
[data-connection=offline] .cover-state{color:#ffe2d6}[data-connection=offline] .cover-state i{background:#e6bfa2;box-shadow:none}
@media(max-width:1100px){.home-studio{grid-template-columns:1fr}.query-door{min-height:105px}.recent-save{grid-template-columns:46px minmax(0,1fr) auto 12px}}
@media(max-width:720px){.content{padding-top:26px}.heading-title-line{gap:10px}.heading-title-line h1{font-size:29px}.brand-emblem{width:36px;height:36px}.brand-emblem svg{width:25px;height:25px}.home-studio{gap:15px;margin-bottom:24px}.folio-cover{padding:21px 21px 16px;border-radius:23px}.cover-story{min-height:164px;margin-top:3px}.cover-copy h2{font-size:29px;line-height:1.42}.cover-copy p{font-size:16px;margin-top:9px;line-height:1.7}.cover-action{min-height:63px;padding:11px 14px;margin-top:10px;border-radius:13px;gap:11px}.cover-action strong{font-size:22px}.cover-kicker{font-size:15px;letter-spacing:1px}.cover-state{font-size:14px}.query-door{min-height:107px;border-radius:21px;padding:19px 20px;gap:15px}.query-door strong{font-size:22px}.query-door small{font-size:16px;margin-top:5px}.query-door .query-icon{width:48px;height:48px;border-radius:15px}.query-door .query-icon svg{width:26px;height:26px}.recent-saves .panel-title{padding:21px 20px 13px}.recent-saves .panel-title h2{font-size:21px}.recent-saves .today-list{padding:0 20px 12px}.recent-save{grid-template-columns:39px minmax(0,1fr) auto;gap:11px;padding:19px 0}.entry-mark{width:39px;height:43px;font-size:19px;border-radius:11px}.entry-copy>strong{font-size:20px}.entry-projects{font-size:16px;line-height:1.7}.entry-confirmed{font-size:14px;margin-top:7px}.recent-save>svg{display:none}.recent-save>.service-price{font-size:21px;margin-top:2px;grid-column:3;grid-row:1}.recent-save>.service-price.unknown{font-size:14px;white-space:normal;max-width:66px}.entry-copy{padding-right:1px}.section-kicker{font-size:13px;margin-bottom:4px}.saved-count{font-size:15px;padding:4px 8px}.form-panel{padding:22px 18px}.stage-title{font-size:23px;padding-bottom:18px}.step-progress{gap:8px;padding:0 3px;margin-bottom:15px;min-height:40px}.progress-step{font-size:16px;gap:6px}.progress-step b{width:24px;height:24px}.step-progress>i{min-width:8px}.service-person{padding:16px 13px;gap:10px}.service-person strong{font-size:21px}.service-person p{font-size:18px}.service-person .button{padding:10px 12px;min-height:55px;font-size:17px}.project-option{padding:12px 13px;min-height:56px}.project-input-row .button{font-size:17px}.money-input .input{font-size:24px}.profile{padding:22px 20px}.profile h2{font-size:27px}.profile-phone{font-size:21px}.record-card{padding:22px 19px}.record-projects{font-size:21px}.saved-card{margin:10px 0 0}.saved-card h1{font-size:32px}.saved-explain{font-size:17px;line-height:1.7;margin-bottom:25px}.saved-check{width:76px;height:76px;margin-bottom:25px}.receipt-label{padding:17px 20px;font-size:16px}.receipt-stamp{font-size:16px;padding:3px 7px}.saved-summary{padding:3px 20px}.saved-summary>div{grid-template-columns:43px 1fr;gap:12px;padding:18px 0}.saved-summary>div:nth-child(3) dd{font-size:28px}.saved-actions{margin-top:24px}.saved-actions .button{min-height:62px}.header-actions .button{padding:10px 12px;min-height:53px}.mobile-nav{padding-top:10px}.lock-card{border-radius:26px}.dialog-actions{flex-direction:column}}
@media(max-width:350px){.heading-title-line h1{font-size:25px}.brand-emblem{width:32px;height:32px}.cover-copy h2{font-size:26px}.cover-copy p{font-size:16px}.folio-cover{padding-left:18px;padding-right:18px}.cover-action strong{font-size:20px}.query-door{padding:17px 16px;gap:11px}.query-door strong{font-size:21px}.query-door small{font-size:16px}.query-door .query-icon{width:42px;height:42px;border-radius:13px}.recent-saves .panel-title{padding-left:17px;padding-right:17px}.recent-saves .panel-title h2{font-size:20px}.recent-saves .today-list{padding-left:17px;padding-right:17px}.recent-save{grid-template-columns:35px minmax(0,1fr);gap:11px}.entry-mark{width:35px;height:40px}.recent-save>.service-price{grid-column:2;grid-row:2;font-size:21px;margin:0}.recent-save>.service-price.unknown{max-width:none}.entry-confirmed{font-size:14px}.step-progress{gap:6px}.progress-step{font-size:15px;gap:5px}.progress-step b{width:23px;height:23px}.saved-summary>div:nth-child(3) dd{font-size:26px}}

.record-actions{display:flex;flex-direction:column;gap:9px;flex-shrink:0}.record-action{display:flex;align-items:center;justify-content:center;min-width:65px;min-height:52px;border:1px solid #dad8d6;border-radius:11px;background:#faf8f6;color:#6c6f73;font-size:17px;padding:9px 11px;line-height:1.5;cursor:pointer}.record-delete{background:#fff6f5;border-color:#eed6d6;color:#83868a}.delete-customer-button{font-size:17px;background:#fff6f5!important;color:#83868a!important;border-color:#dbd9d7!important}.delete-customer-button:disabled,.record-action:disabled{opacity:.65}.record-card .record-text{min-width:0}.record-card{gap:12px}
.cover-stats{position:relative;z-index:2}.cover-stats a{color:inherit;text-decoration:none}.cover-lead-name{display:block;font-size:17px;color:#e3e1df}.cover-lead-total{display:block;font:700 42px/1.25 var(--utility);color:#fffaf7;font-variant-numeric:tabular-nums;margin-top:4px;white-space:nowrap}.cover-lead-total.long{font-size:32px}.cover-lead-count{display:block;font-size:15px;color:#dcdad8;margin-top:2px}.cover-more{display:inline-flex;align-items:center;gap:3px;font-size:15px;color:#efedeb;border:1px solid #ffffff38;border-radius:999px;padding:3px 9px 3px 12px;margin-top:11px}.cover-more svg{width:13px;height:13px}

.income-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;max-width:760px}.income-tab{display:block;text-align:center;border:1px solid #e0dedc;border-radius:14px;background:#fffdf9;color:#595c60;padding:10px 4px;min-height:64px;text-decoration:none}.income-tab span{display:block;font-size:17px;font-weight:650}.income-tab b{display:block;font:500 14px/1.5 var(--utility);color:#777a7e;font-variant-numeric:tabular-nums;white-space:nowrap}.income-tab.active{background:#e7e5e3;border-color:#c3c6ca;color:#484b4f}.income-tab.active b{color:#5d6064}
.income-card.lead{display:block;background:#4b4e52;color:#fffaf7;border-radius:22px;padding:22px 24px;margin-bottom:18px;max-width:760px}.income-name{display:block;font-size:17px;color:#efedeb}.income-total{display:block;font:700 40px/1.3 var(--utility);color:#fffaf7;font-variant-numeric:tabular-nums;margin-top:4px}.income-count{display:block;font-size:16px;color:#dcdad8;margin-top:3px}
.income-missing{display:flex;align-items:center;gap:5px;font-size:15px;color:#8a5a1c;margin-top:6px}.income-missing svg{width:17px;height:17px;flex-shrink:0}.income-card.lead .income-missing{color:#f6dfb2}
.income-customers{max-width:760px}.income-customers .panel-title{padding:22px 24px 10px;align-items:center}.income-customers .panel-title h2{font-size:21px}.income-list{padding:0 24px 8px}.income-customers>.button{margin:4px 24px 20px;width:calc(100% - 48px)}
.income-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 14px;gap:13px;align-items:center;padding:16px 0;border-top:1px solid #ebe2e2;color:inherit;text-decoration:none}.income-row:first-child{border-top:0}.income-mark{display:grid;place-items:center;width:44px;height:46px;border-radius:12px;background:#edebe9;border:1px solid #dfdddb;color:#717478;font-size:20px;font-weight:650}.income-row-copy{min-width:0}.income-row-copy strong{display:block;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-row-copy>span{font-size:15px;color:#777a7e}.income-row-copy>span:not(.income-missing){display:block}.income-row-total{font:700 20px/1.3 var(--utility);color:var(--rose-dark);font-variant-numeric:tabular-nums;white-space:nowrap}.income-row>svg{width:14px;color:#86898d}
.income-note{color:var(--muted);font-size:16px;line-height:1.8;margin:18px 4px 0;max-width:760px}
@media(max-width:720px){.cover-lead-name{font-size:16px}.cover-lead-total{font-size:36px}.cover-lead-total.long{font-size:27px}.income-tabs{gap:6px}.income-tab span{font-size:16px}.income-tab b{font-size:13px}.income-card.lead{padding:20px}.income-total{font-size:34px}.income-customers .panel-title{padding:20px 18px 8px}.income-list{padding:0 18px 6px}.income-customers>.button{margin:4px 18px 18px;width:calc(100% - 36px)}.income-row{grid-template-columns:40px minmax(0,1fr) auto;gap:11px}.income-mark{width:40px;height:43px}.income-row>svg{display:none}.income-row-total{font-size:19px}}

/* Business finish. Readable mobile controls share the same palette across every route. */
:root{--canvas:#f4f3f1;--paper:#ffffff;--ink:#272a2e;--muted:#6d7074;--line:#e1dfdd;--rose:#323539;--rose-dark:#25282c;--rose-light:#eeecea;--sage:#796a4e;--sage-light:#f3efe7;--radius:18px;--body:'PingFang SC','Microsoft YaHei','Segoe UI',sans-serif;--utility:'Segoe UI','Helvetica Neue',var(--body)}
body{background:var(--canvas);color:var(--ink)}
h1,h2,.brand-name{font-weight:650;letter-spacing:0}
.sidebar{background:#fffdfb;border-color:var(--line);padding-top:38px}
.brand-icon,.brand-emblem{background:var(--rose-dark);color:#d9c7a3;border-color:#46494d;border-radius:10px;box-shadow:none}
.brand-icon svg,.brand-emblem svg{width:23px;height:23px;stroke-width:1.35}
.brand-name{font-size:18px}.brand-sub{font-size:12px;letter-spacing:0;margin-top:3px;color:var(--muted)}
.nav-item{border-radius:10px}.nav-item.active{background:var(--rose-light);color:var(--rose-dark)}.nav-item:hover{background:#f3f1ef}
.page-header{margin-bottom:28px}.page-header .eyebrow{font-size:14px;color:var(--muted);letter-spacing:.5px;margin-bottom:9px}
.heading-title-line{gap:12px}.heading-title-line h1{font-size:30px;letter-spacing:.4px}
.header-actions .button{background:#ffffff;border-color:var(--line);box-shadow:none;font-size:16px;border-radius:10px;min-height:48px;padding:10px 16px}
.home-studio{grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);gap:22px;margin-bottom:24px}
.folio-cover{background:linear-gradient(115deg,#36393d,#272a2e);border:1px solid #46494d;border-radius:20px;padding:27px 28px 24px;color:#fff;box-shadow:0 12px 24px #31343810}
.folio-cover::before{top:27px;left:0;bottom:auto;width:3px;height:24px;background:#c6b186}.folio-cover::after{display:none}
.cover-kicker{color:#d7c6a5;font-size:15px;letter-spacing:1.5px}.cover-state{font-size:13px;color:#e4e2e0;gap:7px}.cover-state i{background:#c9b183;box-shadow:none;width:5px;height:5px}
.cover-story{min-height:190px;margin-top:8px;align-items:center}.cover-copy{width:100%;min-width:0;padding:18px 0 23px}.cover-lead-name{color:#e6e4e2;font-size:16px;letter-spacing:.3px}
.cover-lead-total{font:500 62px/1.18 var(--utility);letter-spacing:-1.7px;color:#fff;margin-top:12px;white-space:normal;overflow-wrap:anywhere}.cover-lead-total.long{font-size:42px}.cover-lead-total .currency{font-size:.55em;margin-right:7px;vertical-align:8%;letter-spacing:0;color:#d7c6a5}
.cover-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:15px}.cover-lead-count{color:#dcdad8;font-size:15px;margin:0}.cover-more{color:#ede9dd;background:transparent;border:0;border-radius:0;padding:0;margin:0;min-height:30px;font-size:15px;gap:5px}.cover-more svg{width:15px;height:15px}
.cover-action{min-height:62px;border-radius:11px;padding:13px 17px;margin-top:0;background:#f7f5f3;border-color:#e9e7e5;color:#3d4044;box-shadow:none;gap:12px}.cover-action strong{font-size:20px;font-weight:650}.cover-action .action-icon{width:30px;height:30px;background:transparent;border:1px solid #cfcdcb;border-radius:8px}.cover-action>svg{color:#6e7175}
.query-door{padding:28px;border-color:var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 14px #33363a03;gap:18px}.query-door .query-icon{width:52px;height:52px;border-radius:13px;border-color:#e3e1df;background:#f3f1ef;color:#505357}.query-door strong{font-size:22px;font-weight:650;color:var(--ink)}.query-door small{font-size:16px;color:var(--muted);margin-top:5px}.query-door>svg{color:#85888c}
.panel{background:#fff;border-color:var(--line);border-radius:18px;box-shadow:0 4px 14px #33363a03}.recent-saves .panel-title{padding:24px 26px 18px;border-bottom:1px solid #f1efed}.section-kicker{color:#7d715b;font-size:12px;letter-spacing:1.5px;margin-bottom:6px}.recent-saves .panel-title h2{font-size:22px;font-weight:650}.saved-count{background:#f7f5f3;border-color:#e5e3e1;border-radius:7px;color:#6f7276;font:15px var(--utility);padding:6px 10px}.recent-saves .today-list{padding:0 26px 12px}
.entry-mark,.avatar,.avatar.rose,.income-mark{background:#f3f1ef;color:#4d5054;border-color:#e6e4e2;border-radius:11px}.entry-copy>strong{font-weight:600}.entry-projects,.customer-phone{color:var(--muted)}.recent-save{border-color:#eeecea}.recent-save>.service-price{font-weight:600;color:var(--rose-dark)}.entry-confirmed{color:#64676b}
.empty{padding:32px 24px}.empty-symbol{background:#f5f3f1;color:#84878b;border:1px solid #ebe9e7;border-radius:12px;width:48px;height:48px;margin-bottom:15px}.empty-symbol svg{width:23px;height:23px}.empty h3{font-size:18px;font-weight:600;color:#424549}.empty p{font-size:16px;color:var(--muted);margin-bottom:0;line-height:1.8}.empty .button{margin-top:18px}
.button{border-color:var(--line);border-radius:10px;background:#fff;box-shadow:none}.button.primary,.form-shell .form-footer .button.primary{background:var(--rose);border-color:var(--rose);box-shadow:none}.button.primary:hover{background:var(--rose-dark)}.button.soft{background:var(--rose-light);border-color:#e1dfdd;color:var(--rose-dark)}.icon-button{border-color:var(--line);background:#fff;border-radius:10px}
.input,.search-wrap input{background:#fff;border-color:#d7d5d3;color:var(--ink);border-radius:10px}.input::placeholder{color:#818488}.input:focus,.search-wrap input:focus{border-color:#797c80;box-shadow:0 0 0 3px #eeecea}.search-wrap svg{color:#7d8084}button:focus-visible,a:focus-visible{outline:3px solid #a98c56;outline-offset:4px}
.progress-step.active{color:var(--rose-dark)}.progress-step.active b{background:var(--rose);border-color:var(--rose)}.stage-title{color:var(--ink);border-color:var(--line);font-weight:650}.step-number{background:var(--rose-light);color:var(--rose-dark);border-color:#e0dedc}.form-panel{border-color:var(--line);border-radius:18px}.type-choice.selected{background:var(--rose-light);border-color:#6d7074;color:var(--rose-dark)}
.service-person,.new-customer-fields,.selected-customer{background:#f6f4f2;border-color:#e5e3e1}.service-person .button{background:#fff;color:var(--rose-dark);border-color:#dbd9d7}.project-option{background:#fff;color:var(--rose-dark);border-color:#d7d5d3;border-radius:10px;box-shadow:none}.project-option.selected{background:var(--rose);border-color:var(--rose);box-shadow:none}.project-chip{background:#efedeb;border-color:#dbd9d7;color:var(--rose-dark)}.project-chip button{color:#65686c}.money-input .input{background:#fdfbf9;color:var(--rose-dark);border-color:#d8d6d4}.money-input>span{color:#7a7d81}.date-change{color:#717478}.form-shell .form-footer{background:#fffdfbf5;border-color:var(--line);box-shadow:none}
.profile,.record-card,.settings-row,.candidate,.dialog{background:#fff;border-color:var(--line)}.profile-phone,.service-price{color:var(--rose-dark)}.profile-meta,.record-day .day-line,.more-details{border-color:var(--line)}.profile-label,.saved-explain,.settings-note{color:var(--muted)}.customer-open:hover,.settings-row:hover,.candidate:hover{background:#f7f5f3}.record-card{border-radius:14px;box-shadow:none}.record-action{background:#f7f5f3;border-color:#e0dedc;color:#595c60}.record-delete,.delete-customer-button{background:#fff6f5;border-color:#eed6d6;color:#5f6266}
.receipt-label{background:#f2f0ee;color:#676a6e;border-color:#e1dfdd}.receipt-stamp{color:#6a6d71;border-color:#9ea1a5;background:#f6f4f2}.saved-summary{background:#fff;border-color:#e1dfdd;box-shadow:0 8px 22px #34373b10}.saved-summary dt{color:var(--muted)}.saved-summary dd{color:var(--ink)}.saved-summary>div:nth-child(3) dd{color:var(--rose-dark)}.saved-card h1{color:var(--rose-dark)}
.settings-group h2{color:var(--ink)}.income-tab{background:#fff;border-color:var(--line);border-radius:11px;color:var(--muted)}.income-tab.active{background:var(--rose-light);border-color:#b3b6ba;color:var(--rose-dark)}.income-tab.active b{color:#56595d}.income-card.lead{background:var(--rose-dark);border-radius:18px}.income-name,.income-count{color:#e6e4e2}.income-row{border-color:var(--line)}
.mobile-nav{background:#fffdfbf5;border-color:var(--line);box-shadow:0 -4px 16px #32353905;padding:9px 12px calc(9px + env(safe-area-inset-bottom))}.mobile-nav a{color:#7c7f83;border-radius:10px;font-size:16px}.mobile-nav a.active{background:#efedeb;color:#494c50}.mobile-nav a.record-nav{background:var(--rose);border:1px solid var(--rose);box-shadow:none;color:#fff}.mobile-nav svg{width:21px;height:21px;stroke-width:1.55}
.lock-screen{background:var(--canvas)}.lock-card{background:#fff;border-color:var(--line);box-shadow:0 14px 40px #33363a08}.lock-card .brand-icon{background:var(--rose-dark);color:#d9c7a3;border-color:#46494d}.toast{background:#fff;color:var(--ink);border-color:var(--line)}.toast::before{background:#eeecea;color:var(--rose)}.toast.visible::after{background:#94979b}.loading::before{border-color:#dedcda;border-top-color:var(--rose)}
@media(max-width:1100px){.home-studio{grid-template-columns:1fr}.query-door{min-height:110px}}
@media(min-width:1101px){.query-door{flex-wrap:wrap;align-content:center}.query-door .query-icon{margin-bottom:4px}.query-door>span:nth-child(2){flex-basis:calc(100% - 85px)}}
@media(max-width:720px){.content{padding:26px 20px 112px}.page-header{margin-bottom:24px;gap:12px}.heading-title-line{gap:10px}.heading-title-line h1{font-size:27px}.brand-emblem{width:35px;height:35px;border-radius:9px}.page-header .eyebrow{font-size:14px;margin-bottom:8px}.header-actions .button{font-size:16px;min-height:46px;padding:9px 13px}.home-studio{gap:16px;margin-bottom:22px}.folio-cover{border-radius:18px;padding:23px 22px 22px}.folio-cover::before{top:24px;height:20px}.cover-story{min-height:181px;margin-top:4px}.cover-copy{padding:19px 0 23px}.cover-lead-total{font-size:54px;margin-top:10px}.cover-lead-total.long{font-size:34px}.cover-lead-name{font-size:16px}.cover-meta{margin-top:13px}.cover-kicker{font-size:14px}.cover-state{font-size:12px}.cover-action{min-height:60px;padding:12px 14px;border-radius:10px}.cover-action strong{font-size:20px}.query-door{padding:21px 20px;min-height:106px;border-radius:16px;gap:15px}.query-door strong{font-size:21px}.query-door small{font-size:15px}.query-door .query-icon{width:46px;height:46px;border-radius:12px}.recent-saves .panel-title{padding:20px 20px 17px}.recent-saves .panel-title h2{font-size:21px}.recent-saves .today-list{padding:0 20px 10px}.recent-saves{border-radius:16px}.entry-copy>strong{font-size:19px}.entry-projects{font-size:16px}.recent-save>.service-price{font-size:20px}.empty{padding:27px 20px}.mobile-nav a{min-height:59px}.mobile-nav a.record-nav{font-size:18px}.form-panel{padding:22px 18px}.form-shell .form-footer .button.primary{min-height:60px}}
@media(max-width:350px){.content{padding-left:16px;padding-right:16px}.heading-title-line h1{font-size:23px}.brand-emblem{width:31px;height:31px}.heading-title-line{gap:8px}.folio-cover{padding:21px 18px 20px}.cover-lead-total{font-size:48px}.cover-lead-total.long{font-size:29px}.cover-action strong{font-size:19px}.query-door{padding:19px 17px;gap:12px}.query-door small{font-size:14px}.query-door strong{font-size:20px}}

/* Connection and saved states use champagne / graphite, following the no-green palette. */
.cover-state i,.status-dot{background:#c9b183;box-shadow:none}.cover-state{color:#e4e2df}
.entry-confirmed,.customer-last.today{color:#776746}.saved-check{background:#f2eee5;color:#7b6845;border-color:#ded5c4;box-shadow:0 0 0 8px #faf9f6,0 0 0 9px #e7e1d6}
.tag.today,.progress-step.done b{background:#f3efe7;color:#796a4e;border-color:#e1d7c5}
.toast[data-tone=success]::before{background:#f2eee5;color:#7b6845}.toast[data-tone=success].visible::after{background:#b39a6e}
.receipt-stamp{color:#7c6846;border-color:#b6a27c;background:#f6f1e7}
.recent-save>.service-price.unknown{white-space:nowrap;max-width:none;font-size:14px}

/* Two bespoke 3D icons add material detail without competing with the income figure. */
.folio-cover{background:linear-gradient(118deg,#363b44 0%,#272c34 72%,#23272e 100%);border-color:#464a51;box-shadow:0 14px 32px #252a3014,inset 0 1px 0 #ffffff12}
.cover-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}.cover-amount{min-width:0;flex:1}.folio-icon{width:104px;height:104px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 8px 12px #00000025);transform:rotate(-7deg)}
.cover-summary:has(.long) .folio-icon{display:none}.cover-lead-total{letter-spacing:-1.5px}.cover-action{background:linear-gradient(110deg,#f6f3eb,#ebe5d7);border-color:#ded3bd;color:#35363b;box-shadow:inset 0 1px 0 #ffffffa0}.cover-action .action-icon{border-color:#cdc1aa;color:#66573c}
.query-door .query-icon{width:62px;height:62px;background:linear-gradient(135deg,#f9f7f2,#efebe2);border-color:#e5ddd0;border-radius:15px}.query-icon img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 4px #493f3015)}
.mobile-nav a.record-nav{background:linear-gradient(120deg,#393e47,#272c34);border-color:#444a52;box-shadow:inset 0 1px 0 #ffffff12}
@media(min-width:1101px){.query-door{flex-wrap:nowrap;align-content:normal}.query-door>span:nth-child(2){flex-basis:auto}.query-door .query-icon{margin-bottom:0}.query-door>svg{margin-left:auto}}
@media(max-width:720px){.folio-icon{width:100px;height:100px}.cover-summary{gap:10px}.query-door .query-icon{width:55px;height:55px;flex-shrink:0;border-radius:13px}.query-icon img{width:50px;height:50px}.cover-story{min-height:181px}}
@media(max-width:350px){.folio-icon{width:78px;height:78px}.cover-summary{gap:8px}.query-door .query-icon{width:49px;height:49px}.query-icon img{width:44px;height:44px}}
.income-views{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:760px;margin-bottom:14px;padding:4px;background:#eceae8;border-radius:13px}.income-views a{display:grid;place-items:center;min-height:48px;border-radius:10px;font-size:17px;font-weight:600;color:var(--muted);text-decoration:none}.income-views a.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px #0000001a}
.income-day{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:16px 0 8px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}.income-day:first-child{border-top:0;padding-top:6px}.income-day strong{font-size:17px;color:var(--ink)}.income-day span{font-variant-numeric:tabular-nums;white-space:nowrap}
.income-row.ledger{grid-template-columns:minmax(0,1fr) auto 14px;padding:12px 0;border-top:1px dashed var(--line)}.income-day+.income-row.ledger{border-top:0}.income-row.ledger .income-row-copy strong{font-size:19px}.income-row.ledger .income-row-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-row-total.unknown{font:400 14px/1.4 var(--body);color:var(--muted)}
@media(max-width:720px){.income-row.ledger{grid-template-columns:minmax(0,1fr) auto}}
/* Refunds: one restrained red marks money going back out. */
.service-price.negative,.income-row-total.negative,.income-row-copy>.income-refund-note{color:var(--danger)}
.tag.refund{background:#fbeeee;color:var(--danger);border:1px solid #f0d2d5;font-weight:650;padding:4px 11px}
.record-card.refund-card{border-left:4px solid #d9a2a8}
.income-breakdown{display:block;font-size:16px;color:#e6e4e2;margin-top:2px}
.income-refunds{margin-bottom:18px;border-color:#ecd5d7}.income-refunds .section-kicker{color:var(--danger)}
.income-row.refund{grid-template-columns:minmax(0,1fr) auto 14px}.income-row.refund .income-row-copy>span{overflow-wrap:anywhere}
@media(max-width:720px){.income-row.refund{grid-template-columns:minmax(0,1fr) auto}.profile-actions{display:grid;grid-template-columns:1fr 1fr}.profile-actions .button.primary{grid-column:1/-1}}
