:root{--ink:#3b302f;--muted:#8f817b;--line:#e9ded8;--paper:#fffdfa;--canvas:#fbf7f3;--rose:#a77368;--rose-light:#f4e8e3;--green:#667d69;--green-light:#eaf0e8;--gold:#b39072;--serif:'Cormorant Garamond',Georgia,serif}
body{background:var(--canvas);color:var(--ink);font-size:14px}
.app{grid-template-columns:238px minmax(0,1fr)}
aside{background:#fffdfa;border:0;padding:33px 25px 25px 20px;position:relative;box-shadow:4px 0 24px #9a70600a;z-index:5}
aside::after{content:"";position:absolute;right:0;top:0;bottom:0;width:16px;background:repeating-linear-gradient(90deg,#eadbd3 0,#fff9f3 2px,#eadbd3 4px,#fffaf6 7px);border-left:1px solid #d9c5ba;border-right:1px solid #d9c5ba;box-shadow:inset 2px 0 3px #ad8e7f22,inset -2px 0 3px #ad8e7f22}
aside::before{content:"";position:absolute;right:-3px;top:24px;width:22px;height:13px;background:linear-gradient(#d9c5ba 1px,transparent 1px,transparent 4px,#d9c5ba 5px,transparent 6px,transparent 9px,#d9c5ba 10px);z-index:1}
.brand{padding:2px 7px 42px;gap:11px}.brand-mark{width:34px;height:34px;border:1px solid #b99b8c;background:#fffaf5;color:#ac7a6d;border-radius:50%;font-size:19px;box-shadow:0 0 0 4px #f7eee9}.brand strong{font:600 25px/1 var(--serif);letter-spacing:-.02em}.brand small{font-size:9px;letter-spacing:.24em;color:#b39689;margin-top:5px}
.nav-label{font-size:10px;color:#b39f94;letter-spacing:.18em;font-weight:700;margin:10px 0 12px;padding:0 13px}
.nav{gap:5px}.nav button{font-size:13px;color:#71635e;padding:12px 13px;border-radius:4px;gap:12px;min-height:45px}.nav button:hover{background:#f9efe9;color:#8b5b52}.nav button.active{background:#f4e7e0;color:#80544b;box-shadow:inset 3px 0 #b78879;font-weight:700}.nav button .ico{display:flex;align-items:center;width:19px;height:19px}.nav button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.nav button.active svg{stroke-width:1.9}
.salon-card{border-top:1px solid #eaded6;margin:24px 7px 0;padding-top:21px}.avatar{width:36px;height:36px;background:#ead9cf;color:#7b5149;border:1px solid #dfc7bd;font:600 16px var(--serif)}.salon-card strong{font-size:12px}.salon-card small{font-size:11px}
main{background:#fbf7f3}.topbar{height:75px;background:#fffdfa;border-bottom:1px solid #eadfd8;padding:0 39px;box-shadow:0 2px 12px #8b67570b}.crumb{font-size:12px;color:#98877f}.crumb b{font-weight:700;color:#4b3a35}.today{font-size:11px;text-transform:capitalize;color:#a18d84}.icon-btn{color:#8f6d63}.dot{background:#b17e70}
.content{max-width:1410px;padding:37px 39px 65px}.hello{margin-bottom:26px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.2em;color:#ae776a}.hello h1{font:600 42px/.98 var(--serif);margin:7px 0 8px;letter-spacing:-.025em}.hello p{font-size:13px;color:#8e7d76}.btn{background:#835c53;border:1px solid #835c53;border-radius:4px;box-shadow:none;font-size:12px;letter-spacing:.01em;padding:12px 18px}.btn:hover{background:#6f4a43}.btn.secondary{border-color:#ddc7ba;border-radius:4px;color:#76534b;background:#fffdfa}
.hero-feature{height:315px;background:#f3e9e2;border:1px solid #e6d4c9;display:grid;grid-template-columns:43% 57%;position:relative;overflow:hidden;margin:0 0 22px;box-shadow:0 13px 27px #97736116}
.hero-feature::before{content:"";position:absolute;z-index:3;top:0;bottom:0;left:calc(43% - 7px);width:14px;border-left:1px solid #c9afa1;border-right:1px solid #c9afa1;background:repeating-linear-gradient(90deg,#e6d3c5 0,#fff8ee 2px,#e6d3c5 4px,#fff8ee 6px);box-shadow:2px 0 5px #39211d2b}
.hero-copy{position:relative;z-index:1;padding:35px 31px 26px 37px;background:linear-gradient(135deg,#f8f1e9 0%,#f4e6dd 100%);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;isolation:isolate}
.hero-copy::before{content:"";position:absolute;right:-8px;bottom:-41px;width:195px;height:210px;background:url('assets/botanical.svg') center/contain no-repeat;opacity:.32;z-index:-1}
.hero-copy::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:40px;background:url('assets/lace.svg') repeat;opacity:.28;z-index:-1}
.hero-kicker{font-size:10px;letter-spacing:.2em;color:#a27868;font-weight:700}.hero-copy h2{font:600 42px/.9 var(--serif);letter-spacing:-.025em;margin:19px 0 15px;max-width:350px}.hero-copy h2 em{font-weight:500;color:#9b6e63}.hero-copy p{font-size:12px;line-height:1.55;color:#765f56;max-width:260px;margin:0 0 24px}.hero-copy button{background:none;border:0;border-bottom:1px solid #9a6a5e;border-radius:0;color:#7a4e43;font-size:12px;font-weight:700;padding:0 0 6px}.hero-copy button span{font-size:17px;padding-left:12px;font-weight:400}.hero-image{background:url('assets/atelier-hero.jpg') 63% 50%/cover no-repeat;min-width:0}.hero-image::after{content:"";position:absolute;right:0;top:0;bottom:0;width:6%;background:linear-gradient(90deg,transparent,#6a4d3e20)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:23px;background:#fffdfa;border:1px solid #e8dcd4;box-shadow:0 3px 10px #7d5e4b09}.stat{background:transparent;border:0;border-radius:0;padding:18px 20px;min-height:120px;position:relative}.stat:not(:last-child){border-right:1px solid #eee2da}.stat-head{font-size:11px;color:#85736b;font-weight:600}.stat-icon{background:#f6ebe4;color:#9c7365;width:28px;height:28px;border-radius:50%;font-size:14px}.stat strong{font:600 33px/.95 var(--serif);margin-top:13px;color:#48352f}.stat strong small{font-size:12px!important;color:#7e6f68!important}.stat .trend{position:static;display:block;margin-top:5px;color:#8b7666;font-size:10px;white-space:normal}.stat .trend.warn{color:#aa8066}
.grid-main{grid-template-columns:minmax(0,1.45fr) minmax(290px,.9fr);gap:22px}.panel{background:#fffdfa;border:1px solid #e8dcd4;border-radius:4px;padding:22px 24px;margin-bottom:22px;box-shadow:0 5px 14px #674a3e0a}.panel-head{margin-bottom:18px}.panel-head h2{font:600 24px/1 var(--serif);letter-spacing:-.015em}.subtle{font-size:11px;color:#97877f;margin-top:6px}.link{font-size:11px;color:#97685e;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#dbc1b6}.link:hover{color:#6f473f}
.appointment{padding:14px 0;gap:15px}.timebox{width:56px;position:relative;color:#855a51}.timebox::after{content:"";position:absolute;right:-8px;top:2px;height:33px;width:3px;background:repeating-linear-gradient(90deg,#d7bdb1 0,#faf0ea 1px,#d7bdb1 2px)}.timebox b{font:600 19px/.95 var(--serif)}.timebox small{font-size:8px;letter-spacing:.1em}.person b{font-size:12px}.person small{font-size:10px;line-height:1.45}.pill{font-size:10px;border-radius:3px;padding:6px 8px}.pill.green{background:#eaf0e8;color:#617760}.pill.rose{background:#f5e7e2;color:#9d695d}
.due{padding:12px 0}.dress-thumb{width:49px;height:57px;border-radius:2px}.due-info b{font-size:11px}.due-info small{line-height:1.4}.quick button{border-color:#e8dcd4;border-radius:3px;padding:16px;background:#fffdfb;min-height:94px}.quick button:hover{border-color:#bb9586;background:#faf1eb}.quick .qico{color:#a87b6c;font-size:20px;margin-bottom:8px}.quick b{font-size:11px}.quick small{font-size:10px}
.catalog-head{margin-bottom:23px}.catalog-head h1{font:600 42px/.95 var(--serif);letter-spacing:-.02em;margin:9px 0}.catalog-head .subtle{font-size:12px}.toolbar{gap:10px;margin-bottom:20px}.search input,.toolbar select,.field input,.field select{border:1px solid #e3d6ce;border-radius:3px;background:#fffdfa;font-size:12px;color:#5b4a44}.search input:focus,.toolbar select:focus,.field input:focus,.field select:focus{outline:2px solid #b99788;outline-offset:1px}.dress-grid{gap:19px}.dress-card{border:1px solid #e5d8d0;border-radius:3px;box-shadow:0 7px 18px #7b514310;transition:transform .2s,box-shadow .2s}.dress-card:hover{transform:translateY(-3px);box-shadow:0 11px 22px #7b51431a}.dress-card img{height:320px;object-position:center 28%}.dress-body{padding:16px}.dress-body h3{font:600 24px/1 var(--serif);margin-bottom:7px}.dress-meta{font-size:11px}.dress-foot{margin-top:15px}.price{font-size:13px}.stock{font-size:10px;color:#7c7466}
.table th{font-size:10px;color:#ab9183;padding:13px 9px}.table td{font-size:12px;padding:15px 9px}.notice{border-radius:3px;background:#f9eee9;border-color:#e9d6ca;color:#865f53;font-size:12px;line-height:1.5}.modal{border-radius:4px;background:#fffdfa;border:1px solid #dec8bc}.modal h2{font:600 31px/1 var(--serif)}.modal p{font-size:12px}.field label{font-size:11px}.modal .field input,.modal .field select{padding:12px}
@media(max-width:1160px){.app{grid-template-columns:220px minmax(0,1fr)}aside{padding-left:14px;padding-right:21px}.content{padding:30px 28px 60px}.topbar{padding:0 28px}.hero-feature{height:285px}.hero-copy{padding:25px 25px 24px}.hero-copy h2{font-size:37px}.hero-copy p{font-size:11px}.stat{padding:16px 14px}.stats .stat strong{font-size:29px}.grid-main{grid-template-columns:minmax(0,1.3fr) minmax(270px,.9fr);gap:16px}.panel{padding:18px}.panel-head h2{font-size:22px}}
@media(max-width:900px){.grid-main{grid-template-columns:1fr}.hero-feature{grid-template-columns:48% 52%}.hero-feature::before{left:calc(48% - 7px)}.hero-copy h2{font-size:34px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid #eee2da}.dress-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.app{display:block}aside{height:67px;background:#fffdfa;border-top:1px solid #e9dcd5;padding:4px 8px;box-shadow:0 -5px 18px #9a706017}aside::before,aside::after{display:none}.nav{align-items:stretch}.nav button{min-height:0;font-size:9px;padding:5px;gap:4px;border-radius:3px}.nav button .ico{width:17px;height:17px;justify-content:center}.nav button svg{width:16px;height:16px}.topbar{height:57px;padding:0 17px}.top-actions{gap:10px}.content{padding:24px 16px 90px}.hello{align-items:flex-start;gap:15px;margin-bottom:20px}.hello h1{font-size:36px}.hello p{font-size:12px}.hero-feature{height:auto;min-height:0;display:flex;flex-direction:column-reverse;margin-bottom:16px}.hero-feature::before{left:0;right:0;top:204px;bottom:auto;width:auto;height:10px;background:repeating-linear-gradient(90deg,#e6d3c5 0,#fff8ee 2px,#e6d3c5 4px,#fff8ee 6px);border-top:1px solid #c9afa1;border-bottom:1px solid #c9afa1}.hero-image{height:214px;background-position:center 48%}.hero-copy{padding:26px 25px 30px;min-height:225px}.hero-copy h2{font-size:38px;margin:13px 0 10px}.hero-copy p{font-size:11px;margin-bottom:15px}.stats{margin-bottom:16px}.stat{min-height:100px}.stat strong{font-size:29px!important}.stat-icon{width:24px;height:24px}.panel{padding:17px;margin-bottom:16px}.panel-head h2{font-size:23px}.catalog-head h1{font-size:36px}.dress-grid{gap:10px}.dress-card img{height:210px}.dress-body{padding:11px}.dress-body h3{font-size:20px}.price{font-size:11px}.stock{font-size:9px}}
@media(max-width:390px){.hero-image{height:185px}.hero-feature::before{top:175px}.dress-card img{height:185px}.stat{padding:13px 10px}.stat-head{font-size:10px}.stats .stat strong{font-size:25px!important}}
.hero-feature::before{left:calc(43% - 11px);width:22px;background:repeating-linear-gradient(90deg,#d8bfae 0,#fff8ee 3px,#e4ccba 5px,#fff8ee 8px);box-shadow:2px 0 7px #39211d29,-2px 0 4px #39211d18}
.hero-image{position:relative}.hero-image::before,.hero-image::after{content:"";position:absolute;z-index:4;left:-19px;width:38px;height:15px;border:1px solid #ceb6a7;background:linear-gradient(#fff8ed 0 3px,#d5bba9 4px 5px,#fff8ed 6px 10px,#cfb09d 11px 12px,#fff8ed 13px);box-shadow:0 2px 5px #39211d24}.hero-image::before{top:0}.hero-image::after{top:auto;right:auto;bottom:0}
@media(max-width:900px){.hero-feature::before{left:calc(48% - 11px)}}
@media(max-width:700px){.hero-feature::before{left:0;width:auto}.hero-image::before{left:0;right:0;top:auto;bottom:-4px;width:auto;height:9px;background:repeating-linear-gradient(90deg,#d8bfae 0,#fff8ee 3px,#e4ccba 5px,#fff8ee 8px)}.hero-image::after{display:none}}
.public-link{display:inline-flex;align-items:center;color:#865a50;border:1px solid #e5d5cd;padding:8px 12px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.02em;background:#fff8f3;transition:background .2s}.public-link:hover{background:#f3e7df}.public-link:focus-visible{outline:2px solid #95695e;outline-offset:2px}
@media(max-width:700px){.public-link{padding:7px 8px;font-size:10px}.topbar .avatar,.topbar .icon-btn{display:none}}
.date-picker{border:1px solid #ddc9bd;background:#fffaf6;color:#6e5047;padding:9px 11px;font-size:11px;border-radius:2px}.date-picker:focus-visible{outline:2px solid #a8786a;outline-offset:2px}
#auth-gate[hidden]{display:none}
#auth-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#f8f4ef url('assets/lace.svg') center/520px}
.auth-card{width:min(440px,100%);padding:38px;background:rgba(255,255,255,.94);border:1px solid #e7d9ce;box-shadow:0 28px 80px #78685a26;text-align:center}
.auth-card .auth-ornament{font:38px 'Cormorant Garamond',serif;color:#af806f}
.auth-card h1{font:600 36px 'Cormorant Garamond',serif;margin:11px 0}
.auth-card p{color:#7b716a;font-size:13px;line-height:1.6;margin:0 0 22px}
.auth-card form{display:grid;gap:13px;text-align:left}
.auth-card label{display:grid;gap:6px;font-size:11px;color:#655b54;font-weight:600}
.auth-card input{width:100%;padding:12px;border:1px solid #e1d7ce;border-radius:5px;background:#fff;outline-color:#b88e7e}
.auth-card .auth-field{display:grid;gap:6px}
.auth-card .password-wrap{position:relative}
.auth-card .password-wrap input{padding-right:52px}
.auth-card .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:39px;height:38px;padding:8px;border:0;border-radius:4px;background:transparent;color:#806e64;cursor:pointer}
.auth-card .password-toggle:hover{background:#f5ede8;color:#674f43}
.auth-card .password-toggle:focus-visible{outline:2px solid #a8786a;outline-offset:1px}
.auth-card .password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-card .password-toggle .eye-slash{display:none;stroke:#a05850;stroke-width:2}
.auth-card .password-toggle[aria-pressed="true"] .eye-slash{display:block}
.auth-card .btn{margin-top:7px;padding:13px}
.auth-card .auth-google{width:100%;margin-top:12px}
.auth-card .auth-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 18px;margin-top:17px}
.auth-card .auth-links .link{font-size:12px}
.auth-card #login-message{min-height:18px;margin-top:14px;color:#a05850;font-size:12px;line-height:1.4}
.image-preview{font-size:11px;color:#6f625a;line-height:1.5}
.image-help{font-size:10px;color:#786b62;line-height:1.5;margin:3px 0 8px}
.image-preview:empty{display:none}
.image-preview img{display:block;width:100%;max-height:180px;object-fit:contain;background:#f8f4ef;border:1px solid #eadfd6;border-radius:7px;margin:8px 0}
.image-preview p{margin:5px 0}
.image-preview a{color:#8f5f56;font-weight:700}
#login-message{min-height:15px;color:#9a4d42;font-size:11px}
#staff-signout{margin-top:17px}
body.firebase-connected:not(.firebase-ready) .app{visibility:hidden}
body.firebase-connected .stats .stat:nth-child(4),body.firebase-connected .grid-main>div:last-child .panel:last-child,body.firebase-connected .stats .stat:nth-child(2) .trend{display:none}
body.firebase-connected .stats{grid-template-columns:repeat(3,1fr)}
@media(max-width:700px){body.firebase-connected .stats{grid-template-columns:repeat(2,1fr)}}
