@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--bg:#faf7f4;--ink:#2e2830;--muted:#8c8188;--rose:#ae6d80;--rose-deep:#8e4c62;--blush:#f8eaeb;--line:#ece5e3;--card:#fff;--olive:#7b8e7e;--cream:#f5eee8;--shadow:0 12px 34px rgba(93,64,76,.055)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.03em}h1{font-size:clamp(32px,4vw,45px);line-height:1.2;margin-bottom:12px}h2{font-size:25px}h3{font-size:17px}p{color:#796f76}a{color:var(--rose-deep)}.app-shell{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;width:250px;flex-shrink:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:32px 18px 25px}.brand{display:flex;gap:12px;align-items:center;padding:3px 14px 48px}.brand-mark{font:40px/.9 'Playfair Display',serif;color:var(--rose);position:relative}.brand-mark span{font:18px 'DM Sans',sans-serif;position:absolute;right:-9px;top:-2px;color:#d9aaad}.brand strong{display:block;letter-spacing:.19em;font-size:12px}.brand small{display:block;color:#b5a9ad;font-size:9px;letter-spacing:.17em;margin-top:3px}.sidebar-label{font-size:10px;letter-spacing:.16em;color:#baaeb4;font-weight:700;padding:0 16px 15px}.nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:15px;border:0;background:transparent;text-align:left;border-radius:12px;color:#766b72;padding:13px 15px;font-size:12px;font-weight:600}.nav-link:hover,.nav-link.active{background:#f7eff0;color:var(--rose-deep)}.nav-icon{font-size:18px;line-height:1;width:19px;text-align:center;font-weight:400}.sidebar-bottom{margin-top:auto;border-radius:16px;background:linear-gradient(145deg,#fbf2f1,#f5ede9);padding:25px 15px 22px;text-align:center}.side-flower{font-size:30px;color:var(--rose)}.sidebar-bottom p{font-family:'Playfair Display',serif;font-size:14px;line-height:1.7;color:#77616d;margin:8px 0}.sidebar-bottom small{font-size:10px;color:#b5959e}.main{min-width:0;flex:1}.topbar{height:81px;background:rgba(255,255,255,.75);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,56px)}.breadcrumb{font-size:12px;display:flex;gap:13px;color:#b1a4a9}.breadcrumb strong{color:#57454e;font-weight:600}.top-right{display:flex;gap:22px;align-items:center}.status-pill{font-size:11px;color:#877d81}.online-dot{display:inline-block;background:#8cad9a;width:7px;height:7px;border-radius:50%;margin-right:5px}.circle-avatar{width:35px;height:35px;display:grid;place-items:center;background:#e9d7d8;color:#8b5262;border-radius:50%;font-size:11px;font-weight:bold}.page-content{max-width:1480px;margin:auto;padding:40px clamp(20px,4vw,56px) 55px;min-height:calc(100vh - 140px)}footer{text-align:center;padding:25px 10px;color:#ac9ba3;font-size:11px;border-top:1px solid var(--line)}footer span{color:#bd8b96;padding:0 9px}.mobile-menu{display:none;border:0;background:transparent;font-size:23px;color:var(--rose)}.eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:10px;color:#b67f8f;font-weight:700;margin-bottom:12px}.lede{max-width:650px;color:#8b7d84;font-size:13px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.page-heading h1{margin:0}.page-heading p{margin:6px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;background:#fff;border:1px solid #e5d9db;border-radius:10px;color:#7d5966;font-weight:700;font-size:12px;white-space:nowrap}.btn:hover{background:#fff5f5}.btn.primary{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff}.btn.primary:hover{background:#773d53}.btn.soft{background:#f7edef;border-color:transparent;color:var(--rose-deep)}.btn.small{padding:7px 10px;font-size:11px;border-radius:7px}.btn.flat{border:0;background:none;padding:8px 4px}.btn.danger{color:#ab4c54}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px;padding:24px}.hero{background:linear-gradient(117deg,#f3e4e4 0%,#f9efed 60%,#f8f0e9 100%);position:relative;overflow:hidden;padding:44px 48px;display:grid;grid-template-columns:1.4fr .7fr;min-height:270px;align-items:center;border-radius:19px;margin-bottom:25px}.hero h1{max-width:560px}.hero p{max-width:485px;color:#8b7280}.hero-art{font:clamp(120px,17vw,215px)/1 'Playfair Display',serif;color:#c9929b;opacity:.53;transform:rotate(-13deg);text-align:center;user-select:none}.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:23px 0}.kpi{padding:22px}.kpi .kpi-top{display:flex;justify-content:space-between;align-items:center;color:#94858c;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.kpi .kpi-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#f9eef0;color:var(--rose-deep);font-size:16px}.kpi-value{font:36px/1.4 'Playfair Display',serif;color:#3e313b;margin-top:6px}.kpi-sub{font-size:11px;color:#ab9da2}.two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);gap:18px}.card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px}.card-head h2,.card-head h3{margin:0}.progress-rail{height:8px;background:#f3e8eb;border-radius:100px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#b8798b,#dba8ac);border-radius:100px}.progress-legend{display:flex;justify-content:space-between;font-size:12px;color:#a18d96;margin:10px 0 20px}.queue-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #f4eded}.queue-day{background:#fbf1f1;color:#a36377;width:50px;height:48px;border-radius:11px;display:grid;place-items:center;font-size:10px;line-height:1.2;flex-shrink:0}.queue-day b{display:block;font-size:17px}.queue-body{flex:1;min-width:0}.queue-body b{display:block;font-size:13px}.queue-body small{color:#a89aa0;font-size:11px}.tag{border-radius:100px;background:#f6eeee;color:#99657a;padding:4px 9px;font-size:10px;font-weight:700;white-space:nowrap}.tag.green{background:#eaf3ed;color:#62836f}.tag.gold{background:#f8f0e2;color:#ad8252}.tip{background:#fbf3ef;border-left:3px solid #d3a4a8;padding:18px;border-radius:10px;font-size:12px;color:#88717b}.tip b{display:block;color:#775766;margin-bottom:6px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}.input,.select,.textarea{border:1px solid #e9dfe2;border-radius:10px;background:white;color:#51434b;padding:11px 12px;outline:none;width:100%;min-width:0}.input:focus,.select:focus,.textarea:focus{border-color:#c58b9c;box-shadow:0 0 0 3px #f7e9ed}.textarea{resize:vertical;min-height:115px}.toolbar .input{flex:1;min-width:190px}.toolbar .select{width:auto;min-width:150px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.episode-table{border-collapse:collapse;width:100%;min-width:780px;font-size:12px}.episode-table th{text-align:left;background:#faf6f5;padding:15px 13px;color:#a48a95;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.episode-table td{padding:13px;border-top:1px solid #f1e9e9;vertical-align:middle}.episode-table tbody tr:hover{background:#fffbfb}.episode-table .title-cell b{display:block;color:#4e3c46}.episode-table .title-cell small{color:#9b8d92}.episode-table .nowrap{white-space:nowrap}.check-input{accent-color:#9f6075;width:16px;height:16px;cursor:pointer}.pill{border:1px solid #f0e6e6;border-radius:100px;padding:4px 10px;color:#987b85;font-size:10px}.list-foot{margin:14px;color:#a597a0;font-size:12px}.editor-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px}.field{display:grid;gap:7px;margin-bottom:17px}.field label,.field-label{font-size:11px;color:#897780;font-weight:700;letter-spacing:.03em}.field-help{font-size:11px;color:#b4a3aa}.section-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.modal-wrap{position:fixed;inset:0;background:#281b26a8;display:grid;place-items:center;padding:20px;z-index:20;overflow-y:auto}.modal{width:min(800px,100%);max-height:95vh;overflow:auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 80px #3423334d}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-close{border:0;background:#f9f0f2;padding:7px 11px;border-radius:10px;color:#835d6b}.modal h2{margin-bottom:6px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.calendar-head h2{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-dow{text-align:center;font-size:10px;color:#a8969e;font-weight:700;letter-spacing:.12em;margin-bottom:10px}.calendar-cell{min-height:114px;border:1px solid #efe4e5;border-radius:11px;background:#fff;padding:10px;text-align:left;display:flex;flex-direction:column;gap:8px;overflow:hidden}.calendar-cell.blank{border:0;background:none}.calendar-cell.filled:hover{border-color:#cc9bad;background:#fff9fa}.calendar-num{font-size:11px;color:#aa8995;font-weight:bold}.calendar-episode{font-weight:700;font-size:11px;line-height:1.35;color:#4a3943;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.calendar-status{margin-top:auto;color:#b38c99;font-size:10px}.calendar-status.done{color:#648874}.photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.photo-tile{position:relative;overflow:hidden;border:2px solid transparent;border-radius:15px;background:white;box-shadow:var(--shadow);padding:0;text-align:left;color:inherit}.photo-tile.selected{border-color:var(--rose-deep)}.photo-tile img{width:100%;height:205px;object-fit:cover;background:#f8eded;display:block}.photo-tile span{display:block;padding:10px 11px;font-weight:700;font-size:11px}.photo-tile small{display:block;font-weight:400;color:#9f9094}.photo-tile .photo-check{position:absolute;top:9px;right:9px;background:white;color:var(--rose-deep);border-radius:100px;padding:3px 8px;box-shadow:0 2px 10px #0002}.lab-panel{display:grid;grid-template-columns:minmax(290px,.92fr) minmax(0,1.08fr);gap:19px;margin-bottom:25px}.image-placeholder{min-height:435px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at center,#fbf3f2,#f9f4f1);border:1px dashed #dabdc4;border-radius:14px;color:#aa8b98;padding:25px}.image-placeholder .large-icon{font-family:'Playfair Display',serif;font-size:85px;color:#d8b1bd}.image-placeholder img{width:100%;max-height:650px;object-fit:contain;border-radius:10px}.panel-info{font-size:11px;color:#ad9aa4}.sample-prompts{display:flex;gap:7px;flex-wrap:wrap}.sample-prompts button{border:1px solid #efdbdf;background:#fcf5f5;border-radius:8px;color:#926476;font-size:10px;padding:7px 9px}.ai-banner{display:flex;gap:12px;align-items:flex-start;padding:14px;background:#f8f2ed;border-radius:11px;font-size:11px;color:#8d797e;margin-bottom:16px}.ai-banner b{color:#7b5363}.generated-preview{border:1px solid #ecdce0;background:#fbf8f6;padding:18px;border-radius:12px}.generated-preview p{white-space:pre-wrap;color:#6f5e66}.split-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-list{display:grid;gap:18px}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:21px;border:1px solid var(--line);border-radius:13px;background:#fff}.settings-row b{display:block;font-size:13px}.settings-row p{font-size:11px;margin:5px 0 0}.settings-row .date-input{width:175px}.note{font-size:12px;color:#a28e99}.toast{position:fixed;bottom:25px;right:26px;background:#422e3d;color:white;border-radius:12px;padding:12px 18px;font-size:12px;box-shadow:0 12px 30px #0003;z-index:100;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.loading{padding:80px;text-align:center;color:#a17f8e}.empty{text-align:center;padding:48px 20px;color:#9a8a92}.empty h3{font-family:'Playfair Display',serif;color:#6f5460;margin-bottom:8px}.subnav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.notice{padding:12px 14px;background:#fff4e4;border-radius:10px;font-size:11px;color:#98734f}.code{font-family:monospace;background:#f9f2f3;padding:3px 5px;border-radius:5px}.caption-preview{white-space:pre-wrap;line-height:1.7}.word-count{color:#a99ba2;font-size:11px;float:right}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.hidden{display:none!important}
@media(max-width:1200px){.photo-grid{grid-template-columns:repeat(4,1fr)}.sidebar{width:226px}.page-content{padding:34px 27px}}@media(max-width:950px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.two-col,.editor-grid,.lab-panel{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(3,1fr)}.hero{padding:34px}.hero-art{font-size:125px}.calendar-cell{min-height:90px;padding:7px}.calendar-episode{font-size:10px}}@media(max-width:700px){.sidebar{position:fixed;left:0;top:0;z-index:30;box-shadow:15px 0 30px #0002;transform:translateX(-110%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block}.topbar{padding:0 18px;height:65px}.top-right .status-pill{display:none}.page-content{padding:24px 16px}.page-heading{align-items:flex-start;flex-direction:column}.hero{display:block;padding:29px}.hero-art{display:none}.hero h1{font-size:33px}.kpi-grid{gap:10px}.kpi{padding:16px}.kpi-value{font-size:28px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:9px}.photo-tile img{height:170px}.calendar-grid{gap:3px}.calendar-cell{min-height:65px;padding:5px}.calendar-episode{display:none}.calendar-num{font-size:10px}.calendar-status{font-size:8px}.calendar-head h2{font-size:19px}.modal{padding:19px}.split-row{grid-template-columns:1fr}.settings-row{grid-template-columns:1fr}.settings-row .date-input{width:100%}}
