:root{--paper:#f8f3ee;--card:#fffdfa;--brown:#77452f;--ink:#3e312b;--muted:#9b887c;--line:#e8ddd2;--rose:#c09482;--sage:#859582}*{box-sizing:border-box}body{margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);padding:8px 14px}button:hover{background:#f5e9df}button:disabled{opacity:.5;cursor:wait}button:focus-visible{outline:3px solid #b38e6b;outline-offset:2px}a{color:var(--brown)}.primary{background:var(--brown);color:#fff;border-color:var(--brown)}.primary:hover{background:#603925}.layout{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:225px;background:#efe3d8;border-right:1px solid #dacabb;padding:24px 15px;overflow:auto}.logo{width:180px;height:110px;object-fit:cover;mix-blend-mode:multiply;display:block;margin:auto}.brand-sub{text-align:center;letter-spacing:3px;font-size:10px;color:#9b7760;margin:5px 0 24px}.nav-label{font-size:10px;color:#a98f7d;letter-spacing:2px;padding:17px 15px 5px}.nav{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;text-align:left;color:#7e695b;margin:4px 0;padding:11px 15px}.nav.active{background:#77452f;color:#fff;box-shadow:0 5px 12px #6d432b15}.nav svg{width:18px;height:18px;flex:none}.nav-small{font-size:12px;padding:8px 16px 8px 38px}.side-footer{font-size:11px;color:#987b65;margin:30px 12px 8px;padding-top:15px;border-top:1px solid #d9c7b9}.main{margin-left:225px;flex:1;min-width:0}.topbar{background:#fffaf6;border-bottom:1px solid var(--line);padding:14px 32px;display:flex;justify-content:space-between;align-items:center;color:#8e7867;font-size:12px}.top-right{display:flex;gap:9px;align-items:center}.top-right select{width:110px}.mode{border:1px solid #dccabb;border-radius:30px;padding:4px 10px;font-size:11px}.content{max-width:1530px;margin:auto;padding:30px 32px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:10px}.eyebrow{font-size:10px;letter-spacing:3px;color:#ad8c74;margin:0 0 4px}h1{font:32px/1.4 Georgia,'Songti SC',serif;margin:0;font-weight:500}h2{font:20px Georgia,'Songti SC',serif;margin:0}h3{font-size:14px;margin:0 0 10px}.description{font-size:12px;color:var(--muted);margin:7px 0 0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hero{background:#eadccf;border:1px solid #dac4b3;border-radius:12px;padding:22px 27px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero h2{font-size:23px;color:#70432d}.hero p{margin:8px 0 0;font-size:12px;color:#98745f}.hero-art{font:56px Georgia,serif;color:#b89576;line-height:1.2;letter-spacing:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:var(--card);border:1px solid var(--line);padding:19px 22px;border-radius:10px}.stat-label{font-size:12px;color:#967f70}.stat strong{font:30px Georgia,serif;display:block;color:#6a412c;margin:9px 0 5px}.stat small{font-size:11px;color:#a68e7d}.bar{height:6px;border-radius:6px;background:#ede1d6;overflow:hidden;margin:12px 0 7px}.bar i{display:block;height:100%;background:#ad7b5b}.two-col{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;margin-bottom:20px}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px}.panel-head small{color:#a28c7c;font-size:11px}.empty{padding:27px 15px;text-align:center;color:#ae9887;font-size:13px;border:1px dashed #dfcfbf;border-radius:9px}.empty strong{display:block;color:#8b715f;font-size:14px;margin-bottom:5px}.order-row{border-bottom:1px solid #efe5dc;padding:13px 0;display:flex;gap:12px;align-items:center;cursor:pointer}.order-row:last-child{border:0}.thumb{width:50px;height:60px;border-radius:5px;object-fit:cover;background:#eee2d6;display:grid;place-items:center;color:#ad8d73;font-size:20px;flex:none}.row-main{flex:1;min-width:0}.row-main strong{display:block;font-size:14px}.row-main small{color:#9c8475;font-size:11px}.pill{display:inline-block;border-radius:4px;font-size:10px;padding:3px 7px;background:#efe4d9;color:#8c654a}.pill.green{background:#e8ece4;color:#76836b}.pill.rose{background:#f4e3dd;color:#ac7064}.task-row{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #eee3d9;font-size:13px}.task-row input{width:15px;min-width:15px;accent-color:#865336;margin-top:4px}.task-row small{color:#a28a78;display:block;font-size:11px}.done{text-decoration:line-through;opacity:.5}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check-item{display:flex;align-items:center;gap:7px;font-size:12px;padding:9px;background:#f6eee6;border-radius:6px}.check-item input{width:14px;accent-color:#835234}.metrics-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}.metrics-mini strong{font:24px Georgia,serif;display:block;color:#84543b}.metrics-mini small{font-size:11px;color:#9f8978}.hint{font-size:11px;color:#a48b75;line-height:1.8}.banner{padding:12px 16px;background:#f2e3cd;color:#9b754b;border-radius:7px;font-size:12px;margin-bottom:18px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.toolbar input{max-width:270px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tabs button{font-size:12px}.tabs .selected{background:var(--brown);color:#fff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#967d69;font-weight:400;background:#f3eae2;padding:12px 15px;white-space:nowrap}td{padding:13px 15px;border-bottom:1px solid #efe3d8}tbody tr:hover{background:#faf2e9}.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tile{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px}.tile h3{font-size:16px;color:#79523a}.tile p{font-size:12px;color:#a08774}.tile-img{width:100%;height:160px;object-fit:cover;border-radius:6px;margin-bottom:12px}.report{font:14px/1.9 -apple-system,sans-serif;white-space:pre-wrap;background:#fcf7f0;border:1px solid var(--line);border-radius:8px;padding:24px}.report-box{max-width:850px}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:block;font-size:12px;color:#93735b;margin-bottom:12px}input,select,textarea{font:inherit;width:100%;padding:9px 11px;border-radius:6px;border:1px solid #dbc7b6;background:#fffcf8;color:#594333;margin-top:5px}input[type=checkbox]{width:14px;padding:0;margin:0}textarea{resize:vertical}.big-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#fffaf5;border:1px solid var(--line);border-radius:8px;overflow:auto}.month-cell{min-height:115px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px;min-width:100px}.month-cell strong{font-size:13px}.month-cell small{display:block;font-size:10px;color:#ad8f76}.shift{font-size:11px;padding:3px 5px;border-radius:4px;background:#eee0cf;margin-top:4px}.off{background:#eee8e3;color:#ae9e92}.modal{width:min(850px,95vw);max-height:92vh;border:1px solid #d4b89f;border-radius:13px;background:#fffaf5;padding:25px;color:var(--ink);box-shadow:0 20px 90px #543a2850}.modal::backdrop{background:#34251f70;backdrop-filter:blur(2px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:17px;margin-top:10px}.photo-area{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.photo-area img{height:95px;width:90px;object-fit:cover;border-radius:6px}.photo-area label{display:flex;align-items:center;justify-content:center;cursor:pointer;height:95px;width:100px;border:1px dashed #d4b39b;border-radius:6px;text-align:center;font-size:11px}.photo-area input{display:none}.full{grid-column:1/-1}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#6b412f;color:#fff3e5;padding:11px 22px;border-radius:7px;z-index:80;opacity:0;pointer-events:none}#toast.show{opacity:1}.bottom{font:12px Georgia,serif;color:#b39a86;text-align:center;margin-top:35px;padding-top:20px;border-top:1px solid #e2d4c7}[hidden]{display:none!important}@media(max-width:1100px){.sidebar{width:190px}.logo{width:155px}.main{margin-left:190px}.content{padding:24px 20px}.stats{gap:9px}.stat{padding:15px}.two-col{grid-template-columns:1.2fr 1fr}.list-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:relative;width:100%;padding:8px 12px}.layout{display:block}.logo{width:110px;height:57px;margin:0}.brand-sub,.nav-label,.side-footer{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px;padding-bottom:5px}.nav{white-space:nowrap;width:auto;padding:8px 11px;font-size:12px}.nav-small{display:none}.main{margin:0}.topbar{padding:10px 15px}.content{padding:20px 15px}.page-head{align-items:flex-start}h1{font-size:26px}.actions{justify-content:flex-end}.stats{grid-template-columns:repeat(2,1fr)}.stat strong{font-size:25px}.two-col,.big-grid{grid-template-columns:1fr}.hero{padding:18px}.hero-art{font-size:32px}.hero h2{font-size:19px}.panel{padding:17px}.list-grid{grid-template-columns:1fr}.field-row{gap:10px}.topbar>span{display:none}.toolbar input{max-width:none}.check-grid{grid-template-columns:repeat(2,1fr)}}

details{border:1px solid var(--line);border-radius:7px;padding:10px 14px;margin-bottom:14px}summary{font-size:12px;color:#8d684c;cursor:pointer;margin-bottom:8px}
@media(max-width:760px){.page-head{flex-direction:column;align-items:stretch}.page-head .actions{justify-content:flex-start}.page-head h1{white-space:nowrap}}

/* Brand-matched hand-drawn flower atelier. */
.hero{background:#f6eee3 url('/assets/floral-studio.png') center right/cover no-repeat;min-height:185px;padding:30px 32px;position:relative;border-color:#e0cbbb}.hero>div:first-child{max-width:48%;position:relative;z-index:1}.hero-art{display:none}.hero p{line-height:1.9;max-width:350px}.hero h2{line-height:1.5}.sidebar::after{content:"";display:block;height:105px;margin:15px 3px 0;background:url('/assets/floral-studio.png') 90% 60%/400px auto no-repeat;opacity:.75;mix-blend-mode:multiply;border-radius:8px}.panel{box-shadow:0 3px 18px #80553504}.bottom{color:#9d7b64}
@media(max-width:760px){.hero{min-height:160px;padding:20px;background-image:linear-gradient(90deg,#f6eee3 0%,#f6eee3ec 30%,#f6eee38c 60%,#f6eee300 100%),url('/assets/floral-studio.png');background-position:center,right center;background-size:cover,auto 160px}.hero>div:first-child{max-width:65%}.hero h2{font-size:19px}.hero p{font-size:11px}.sidebar::after{display:none}}
/* Airy botanical details, clear of navigation text. */
.sidebar{background:linear-gradient(170deg,#f0e4d9 0%,#eddfd2 100%)}
.sidebar::before{content:"";position:absolute;top:125px;right:-37px;width:130px;height:205px;background:url('/assets/sidebar-bouquet.png') center/contain no-repeat;opacity:.25;pointer-events:none;z-index:0}
.sidebar nav,.sidebar .logo,.sidebar .brand-sub,.side-footer{position:relative;z-index:1}
.sidebar::after{height:180px;margin:12px 8px 0;background:url('/assets/sidebar-bouquet.png') center bottom/contain no-repeat;opacity:.9;mix-blend-mode:normal;border-radius:0}
.nav{border-radius:9px}.nav-label{color:#9c7257}.nav-small{border-left:1px solid #cfb69d;margin-left:23px;padding-left:15px;width:calc(100% - 23px)}
@media(max-width:760px){.sidebar::before{top:-25px;right:10px;width:100px;height:125px;opacity:.35}.sidebar::after{display:none}.nav-small{display:none}}
