:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;color:#101316;background:radial-gradient(circle at top left,rgba(86,124,255,.15),transparent 24%),radial-gradient(circle at bottom right,rgba(33,181,135,.12),transparent 28%),linear-gradient(180deg,#eef3f7,#dfe7ee)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.app-shell,.login-shell{min-height:100vh;padding:20px}.login-shell{display:flex;align-items:center;justify-content:center}.kiosk-frame,.login-card,.detail-sheet,.manage-sheet,.editor-sheet{background:#f8fbfdeb;border:1px solid rgba(102,124,143,.14);box-shadow:0 28px 80px #15242f29;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.kiosk-frame{width:min(100%,1600px);min-height:calc(100vh - 40px);margin:0 auto;border-radius:32px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.login-card,.detail-sheet,.manage-sheet,.editor-sheet{border-radius:30px}.login-card,.manage-sheet,.editor-sheet{padding:28px}.brand-badge{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:16px;background:linear-gradient(145deg,#1d2730,#4d6576);color:#fff;font-weight:800;letter-spacing:.08em}.brand-logo{object-fit:contain;padding:6px;background:#fff}.eyebrow{margin:0 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#6c7d8a;text-transform:uppercase}h1,h2,h3,.brand strong,.panel-title{margin:0;font-family:Iowan Old Style,Palatino Linotype,serif}h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.96}.hero-title{font-size:clamp(2rem,3.5vw,3.6rem);line-height:.96}.login-copy,.hero-subtitle,.banner-note,.panel-copy,.manage-card span,.category-meta span,.section-link span,.saved-link span{color:#627481}.login-form,.editor-form,.manage-section,.content,.detail-copy{display:grid;gap:16px}.field{display:grid;gap:8px}.field span{font-size:.85rem;font-weight:700;color:#40505c}.field input,.field select,.field textarea,.search-input{width:100%;border:1px solid #d5e0e8;border-radius:18px;background:#ffffffdb;padding:14px 16px;color:#101316}.field textarea{resize:vertical}.upload-hint{color:#6d7d89;word-break:break-all}.upload-status{display:grid;gap:10px;justify-items:start}.upload-preview{width:min(100%,220px);aspect-ratio:4 / 3;object-fit:cover;border-radius:16px;border:1px solid #d5e0e8;background:#f5f8fb}.detail-chip{margin-top:4px}.primary-button,.ghost-button,.logout-button,.mini-button,.tab,.back-link,.section-link{border:0;border-radius:18px;transition:transform .12s ease,opacity .12s ease,background .12s ease,border-color .12s ease}.primary-button:hover,.ghost-button:hover,.logout-button:hover,.mini-button:hover,.tab:hover,.back-link:hover,.category-card:hover,.plant-card:hover,.section-link:hover{transform:translateY(-1px)}.primary-button,.ghost-button,.logout-button,.mini-button,.tab,.back-link{padding:14px 18px}.primary-button{background:linear-gradient(145deg,#171d22,#2c3945);color:#fff;font-weight:700}.ghost-button,.mini-button,.tab,.back-link{background:#edf3f7;color:#13202a}.logout-button,.mini-button.danger,.tab.active{background:#13202a;color:#fff}.form-error,.banner-error{margin:0;color:#b63b4d;font-weight:700}.topbar{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:22px 26px;border-bottom:1px solid rgba(111,131,146,.14)}.brand{display:flex;align-items:center;gap:14px;border:0;background:transparent;text-align:left;padding:0}.brand span{display:grid;gap:2px}.brand small{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#6c7d8a}.topbar-actions{display:flex;gap:10px;justify-self:end;flex-wrap:nowrap}.workspace{display:grid;grid-template-columns:720px minmax(0,1fr);min-height:0}.side-panel{padding:24px;border-right:1px solid rgba(111,131,146,.14);display:grid;gap:18px;align-content:start;background:linear-gradient(180deg,#f2f7fae6,#eaf1f5b8)}.main-panel{padding:24px;overflow:auto;display:grid;align-content:start;gap:18px}.panel-card,.category-card,.plant-card,.manage-card,.empty-state{background:#ffffffd1;border:1px solid rgba(111,131,146,.14);border-radius:26px}.panel-card{padding:20px;display:grid;gap:14px}.panel-title,.panel-copy{margin:0;line-height:1.5}.panel-header{display:flex;justify-content:space-between;gap:10px;align-items:end}.panel-meta{font-size:.85rem;color:#7a8b97}.section-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.section-link{padding:14px 16px;text-align:left;background:#ffffffad;border:1px solid rgba(111,131,146,.12);display:grid}.section-link.active{background:linear-gradient(145deg,#141d23,#334655);color:#fff}.section-link.active span{color:#ffffffc2}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:end}.toolbar-copy{display:grid;gap:6px}.search-row{display:flex;justify-content:end}.content{gap:18px}.category-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.category-card,.plant-hit,.palette-swatch{border:0;padding:0;text-align:left;background:transparent}.category-card,.plant-card{overflow:hidden}.category-preview{display:grid;grid-template-columns:repeat(4,1fr);min-height:180px}.preview-cell,.plant-art,.detail-art{position:relative;min-height:140px}.preview-cell svg,.plant-art svg,.detail-art svg,.picture-image,.section-image{width:100%;height:100%;display:block}.picture-image,.section-image{object-fit:cover}.section-image{grid-column:1 / -1}.category-meta,.plant-copy,.manage-card{padding:18px}.category-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.category-meta span{display:inline-flex;align-items:center;gap:8px;font-size:.92rem}.category-meta i,.palette-swatch span{width:12px;height:12px;border-radius:999px;display:inline-block}.plant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.plant-hit{display:grid;width:100%}.plant-art{aspect-ratio:1 / 1}.plant-copy{display:grid;gap:8px}.plant-copy small{color:#6d7d89}.plant-actions{padding:0 18px 18px;display:flex;justify-content:flex-start}.chip{width:fit-content;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:800}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding:20px;background:#0d161d7a;display:flex;justify-content:center;align-items:center;z-index:20}.detail-sheet,.manage-sheet,.editor-sheet{max-height:min(92vh,960px);overflow:auto;position:relative}.detail-sheet{width:min(1080px,100%);display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(320px,.9fr);overflow:hidden}.detail-art{min-height:100%}.detail-copy{padding:28px;gap:18px}.detail-copy p{margin:0;line-height:1.55}.close-button{border:0;background:#eaf1f5;width:42px;height:42px;border-radius:999px;font-size:1.4rem;justify-self:end}.sheet-header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:16px}.manage-sheet{width:min(980px,100%)}.tab-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.manage-list{display:grid;gap:14px}.manage-card{display:flex;justify-content:space-between;gap:12px;align-items:center}.manage-card strong,.manage-card span{display:block}.manage-actions,.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.editor-sheet{width:min(720px,100%)}.editor-sheet--narrow{width:min(460px,100%)}.empty-state{padding:24px;display:grid;gap:6px}.saved-list{display:grid;gap:10px}.saved-link{border:1px solid rgba(111,131,146,.12);border-radius:18px;background:#ffffffad;padding:14px 16px;text-align:left;display:grid;gap:4px}@media (max-width: 1180px){.topbar{grid-template-columns:1fr}.topbar-actions{justify-content:flex-start;justify-self:start}.workspace{grid-template-columns:1fr}.side-panel{border-right:0;border-bottom:1px solid rgba(111,131,146,.14)}.toolbar{grid-template-columns:1fr}}@media (max-width: 820px){.app-shell,.login-shell,.overlay{padding:0}.kiosk-frame,.login-card,.detail-sheet,.manage-sheet,.editor-sheet{width:100%;min-height:100vh;border-radius:0}.side-panel,.main-panel,.topbar{padding:18px}.topbar-actions{flex-wrap:nowrap}.topbar-actions button{flex:1 1 0}.section-list,.detail-sheet{grid-template-columns:1fr}.detail-art{min-height:320px}}
