:root{--ink:#302523;--muted:#897c77;--wine:#8a554d;--wine-dark:#5b3832;--rose:#f3e5e0;--paper:#fcfaf8;--line:#e9e1dc;--green:#4f977b;--yellow:#c68742;--red:#c65d58;--shadow:0 14px 38px rgba(73,46,41,.08)}*{box-sizing:border-box}body{margin:0;background:#f7f3f0;color:var(--ink);font-family:"Noto Sans SC",sans-serif;font-size:15px;line-height:1.5}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;background:#fffdfa;padding:34px 22px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);z-index:3}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;line-height:1.05;letter-spacing:.3px;margin:0 9px 48px}.brand em{font-family:"Playfair Display",serif;font-weight:500;color:var(--wine);font-size:17px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--wine);border-radius:50%;font-family:"Playfair Display",serif;color:var(--wine);font-size:23px}.nav{display:grid;gap:7px}.nav-item{cursor:pointer;border:0;background:transparent;color:#746763;border-radius:10px;padding:12px 13px;text-align:left;font:inherit;font-weight:500;display:flex;gap:14px;align-items:center}.nav-item span{font-family:"DM Mono",monospace;width:18px;text-align:center;font-size:20px;line-height:1}.nav-item:hover{background:#f8f1ee;color:var(--wine-dark)}.nav-item.active{background:var(--wine);color:white;box-shadow:0 7px 18px rgba(138,85,77,.2)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:21px 8px 0;display:flex;align-items:center;gap:10px}.tiny-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dfc1b7;color:#5b3832;font-weight:bold}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot small{color:var(--muted);font-size:12px;margin-top:2px}.main{width:calc(100% - 248px);margin-left:248px;padding:32px 4.5vw 48px;max-width:1700px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:1.6px;color:var(--wine);font-weight:700;text-transform:uppercase}.page-title{margin:5px 0 0;font-family:"Playfair Display","Noto Sans SC",serif;font-size:30px;line-height:1.15;letter-spacing:.2px}.top-actions{display:flex;align-items:center;gap:12px}.date-label{font:13px "DM Mono",monospace;color:var(--muted)}button{font-family:inherit}.button{border:1px solid transparent;border-radius:9px;cursor:pointer;padding:10px 15px;font-size:14px;font-weight:600;transition:.18s}.button.primary{background:var(--wine);color:#fff;box-shadow:0 7px 15px rgba(138,85,77,.18)}.button.primary:hover{background:var(--wine-dark);transform:translateY(-1px)}.button.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.button.ghost:hover{border-color:#bda69e;background:#fffafa}.icon-button{border:1px solid var(--line);background:#fff;width:38px;height:38px;border-radius:9px;cursor:pointer;color:var(--wine)}.hero{min-height:222px;border-radius:17px;background:linear-gradient(90deg,rgba(47,31,27,.82) 0%,rgba(47,31,27,.50) 42%,rgba(47,31,27,.08) 80%),url("assets/studio-creator.png") center 56%/cover;box-shadow:var(--shadow);padding:34px 38px;color:white;display:flex;align-items:flex-end;margin-bottom:25px}.hero-copy{max-width:520px}.hero h2{font-family:"Playfair Display","Noto Sans SC",serif;font-weight:500;font-size:32px;line-height:1.2;margin:0 0 10px}.hero p{margin:0;color:rgba(255,255,255,.86)}.hero .quote{font-family:"Playfair Display",serif;font-size:23px;color:#f0ccc1;margin-bottom:8px}.overview-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:22px}.card{background:#fffdfa;border:1px solid rgba(231,221,215,.8);border-radius:15px;box-shadow:var(--shadow)}.card-head{display:flex;justify-content:space-between;align-items:center;padding:21px 23px 14px}.card-title{font-size:17px;font-weight:700;margin:0}.card-link{font-size:13px;color:var(--wine);border:0;background:transparent;cursor:pointer;font-weight:600}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 23px 22px}.metric{padding:15px;border-radius:10px;background:#fbf7f5}.metric span{display:block;color:var(--muted);font-size:13px;margin-bottom:5px}.metric strong{font-family:"DM Mono","Noto Sans SC",sans-serif;font-size:21px;letter-spacing:-1px}.metric strong.red{color:var(--red)}.upcoming-list{padding:0 23px 10px}.upcoming{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.date-badge{flex:0 0 45px;text-align:center;padding:4px;border-radius:8px;background:#f6ebe7;color:var(--wine-dark)}.date-badge b{display:block;font:18px "DM Mono",monospace}.date-badge small{font-size:11px}.upcoming .grow{min-width:0}.upcoming strong,.upcoming small{display:block}.upcoming strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming small{color:var(--muted);font-size:12px;margin-top:2px}.tag{display:inline-flex;align-items:center;gap:4px;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:700;white-space:nowrap}.tag.swap{background:#eee7fa;color:#7258a9}.tag.shoot{background:#fff1df;color:#ae6b1d}.tag.gift{background:#e8f5ef;color:#36765d}.tag.pending{background:#fce8e7;color:#b94a46}.tag.partial{background:#fff4dc;color:#a66d20}.tag.settled{background:#e7f4ed;color:#357a5d}.tag.draft{background:#f0eeec;color:#716864}.quick-card{padding:7px 22px 22px}.quick-row{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.quick-row:last-child{border:0}.quick-dot{width:9px;height:9px;margin:7px 2px 0 0;border-radius:50%;background:var(--wine)}.quick-row b,.quick-row span{display:block}.quick-row b{font-size:14px}.quick-row span{font-size:12px;color:var(--muted);margin-top:3px}.view-wrap{animation:in .22s ease}@keyframes in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:19px;flex-wrap:wrap}.search{position:relative;min-width:230px;flex:1}.search input{width:100%;border:1px solid var(--line);background:#fffdfa;border-radius:9px;padding:10px 12px 10px 34px;font:inherit;outline:none}.search:before{content:"⌕";position:absolute;left:12px;top:8px;color:var(--muted);font-size:20px}.search input:focus{border-color:#b99085;box-shadow:0 0 0 3px #f4e8e3}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:#fffdfa;color:#776a66;padding:8px 11px;border-radius:7px;cursor:pointer;font-size:13px}.filter.active{color:var(--wine-dark);border-color:#b98c81;background:#f5e9e5;font-weight:700}.records{display:grid;gap:11px}.record{display:grid;grid-template-columns:50px minmax(150px,1.35fr) minmax(130px,1fr) 116px 95px 30px;gap:17px;align-items:center;padding:15px 19px;cursor:pointer}.record:hover{border-color:#d6bfb7;transform:translateY(-1px)}.logo-tile{width:48px;height:48px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:19px;background:#fff;color:#4c3b37}.record-title{font-weight:700;font-size:15px}.record-meta{font-size:12px;color:var(--muted);margin-top:4px}.fee{font:15px "DM Mono",monospace;font-weight:bold}.more{color:var(--muted);font-size:20px}.table-head{display:grid;grid-template-columns:50px minmax(150px,1.35fr) minmax(130px,1fr) 116px 95px 30px;gap:17px;color:var(--muted);font-size:12px;padding:0 20px 8px}.empty{padding:55px 20px;text-align:center;color:var(--muted)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:22px}.calendar-card{padding:23px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-month{font-family:"Playfair Display","Noto Sans SC",serif;font-size:23px}.month-btn{border:0;background:transparent;color:var(--wine);font-size:22px;cursor:pointer;padding:5px 9px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays div{text-align:center;color:var(--muted);font-size:12px;padding:6px}.day{min-height:79px;border:1px solid #f0e8e4;background:#fff;border-radius:9px;padding:7px;text-align:left;cursor:pointer}.day:hover{border-color:#cfafa5}.day.empty{visibility:hidden}.day.today{background:#fbf1ed;border-color:#c79e92}.day-number{font:13px "DM Mono",monospace}.dots{display:flex;gap:3px;margin-top:7px;flex-wrap:wrap}.dot{width:6px;height:6px;border-radius:50%;background:var(--wine)}.dot.shoot{background:#d58b45}.dot.gift{background:#5b9b7c}.agenda{padding:0 22px 20px}.agenda-item{padding:14px 0;border-top:1px solid var(--line)}.agenda-item time{font:12px "DM Mono",monospace;color:var(--wine);font-weight:bold}.agenda-item b{display:block;margin:4px 0;font-size:14px}.agenda-item span{font-size:12px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:22px}.stat-card{padding:22px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{display:block;font:28px "DM Mono",monospace;margin-top:8px;letter-spacing:-2px}.analytics-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.chart-card{padding:23px}.chart-card h3{font-size:16px;margin:0 0 20px}.bar-line{display:grid;grid-template-columns:58px 1fr 43px;gap:10px;align-items:center;margin:14px 0;font-size:13px}.bar-track{height:9px;background:#f1ebe8;border-radius:9px;overflow:hidden}.bar{height:100%;background:var(--wine);border-radius:9px}.bar.green{background:#6ba98c}.bar.gold{background:#d4a160}.legend-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-size:13px}.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.brand-card{padding:19px;cursor:pointer}.brand-card:hover{border-color:#d6bfb7}.brand-card .logo-tile{margin-bottom:17px}.brand-card h3{font-size:16px;margin:0}.brand-card p{font-size:12px;color:var(--muted);margin:5px 0 0}.modal-backdrop{position:fixed;inset:0;background:rgba(41,27,23,.38);z-index:20;display:grid;place-items:center;padding:18px}.modal{max-width:680px;width:100%;max-height:calc(100vh - 36px);overflow:auto;background:#fffdfa;border-radius:18px;box-shadow:0 28px 80px rgba(40,22,18,.3)}.modal-head{padding:23px 26px 15px;display:flex;justify-content:space-between;align-items:center}.modal-title{font-family:"Playfair Display","Noto Sans SC",serif;font-size:23px;margin:0}.modal-body{padding:7px 26px 26px}.close{border:0;background:transparent;font-size:25px;color:var(--muted);cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700}.field input,.field select,.field textarea{min-width:0;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 11px;font:inherit;color:var(--ink);outline:none}.field textarea{min-height:76px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b99085;box-shadow:0 0 0 3px #f4e8e3}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}.detail-head{display:flex;gap:15px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.detail-head h3{margin:2px 0 5px;font-size:18px}.detail-head p{margin:0;color:var(--muted);font-size:13px}.detail-fee{margin-left:auto;text-align:right;color:var(--wine-dark);font:20px "DM Mono",monospace;font-weight:bold}.details{margin-top:20px;display:grid;grid-template-columns:130px 1fr;row-gap:13px;font-size:14px}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:500}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px;padding-top:19px;border-top:1px solid var(--line)}#toast{position:fixed;left:50%;bottom:28px;z-index:30;transform:translate(-50%,20px);opacity:0;transition:.22s;background:#302523;color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;pointer-events:none}#toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:1050px){.sidebar{width:198px}.main{margin-left:198px;width:calc(100% - 198px);padding:27px 28px}.overview-grid,.calendar-layout,.analytics-layout{grid-template-columns:1fr}.brand-grid{grid-template-columns:repeat(2,1fr)}.record,.table-head{grid-template-columns:50px minmax(130px,1.3fr) 100px 85px 25px}.record .record-date,.table-head .record-date{display:none}}@media(max-width:700px){body{font-size:14px}.app-shell{display:block}.sidebar{width:100%;height:auto;inset:auto 0 0 0;padding:7px 9px calc(7px + env(safe-area-inset-bottom));flex-direction:row;align-items:center;border-top:1px solid var(--line);border-right:0;z-index:5}.brand,.sidebar-foot{display:none}.nav{width:100%;display:flex;justify-content:space-around;gap:0}.nav-item{padding:7px 6px;border-radius:8px;display:grid;justify-items:center;gap:2px;font-size:10px;min-width:52px}.nav-item span{font-size:17px}.main{margin:0;width:100%;padding:22px 16px 92px}.topbar{margin-bottom:18px;align-items:flex-start}.page-title{font-size:26px}.date-label{display:none}.top-actions .button{padding:9px 10px}.hero{min-height:177px;padding:25px 21px;margin:0 -1px 18px;border-radius:13px;background-position:60% center}.hero h2{font-size:26px}.hero p{font-size:13px}.hero .quote{font-size:19px}.overview-grid{gap:16px}.metrics{padding:0 15px 17px;gap:7px}.metric{padding:11px}.metric strong{font-size:17px}.card-head{padding:17px 16px 12px}.upcoming-list,.quick-card,.agenda{padding-left:16px;padding-right:16px}.toolbar{gap:8px}.search{min-width:100%;flex:auto}.filters{flex-wrap:nowrap;overflow:auto;width:100%;padding-bottom:3px}.filter{white-space:nowrap}.table-head{display:none}.records{gap:9px}.record{padding:13px;grid-template-columns:44px minmax(0,1fr) auto 17px;gap:10px}.record .logo-tile{width:44px;height:44px}.record .record-status{display:none}.record .record-date{display:none}.record .fee{font-size:13px}.calendar-card{padding:15px}.day{min-height:50px;padding:5px}.dots{margin-top:4px}.calendar-grid{gap:3px}.weekdays{gap:3px}.day .dot:nth-child(n+3){display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stats-grid .stat-card:last-child{grid-column:1/-1}.stat-card{padding:15px}.stat-card strong{font-size:23px}.brand-grid{grid-template-columns:1fr 1fr;gap:9px}.brand-card{padding:14px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-backdrop{padding:9px}.modal-head{padding:19px 19px 12px}.modal-body{padding:6px 19px 19px}.details{grid-template-columns:96px 1fr}.detail-fee{font-size:16px}.modal-foot{margin-top:18px}.button{padding:9px 12px}.top-actions .icon-button{display:none}}
