:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;--bg: #070707;--bg-elevated: #0f0f10;--surface: #151516;--surface-strong: #1b1b1d;--surface-soft: #101011;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #f7f7f7;--muted: #a1a1aa;--accent: #ef4444;--accent-strong: #b91c1c;--accent-soft: rgba(239, 68, 68, .14);--success: #22c55e;--warning: #f97316;--danger: #ef4444;background:radial-gradient(circle at top,rgba(185,28,28,.22),transparent 30%),linear-gradient(180deg,#0a0a0b,#070707 42%,#050505);color:var(--text)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh;background:transparent;color:var(--text)}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}code{font-family:SFMono-Regular,ui-monospace,Cascadia Code,Source Code Pro,Consolas,monospace}.app-frame{min-height:100vh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.shell{width:min(100%,760px);margin:0 auto;padding:22px 18px 0}.shell-tight{padding-top:18px}.page-screen{animation:page-enter .22s ease}.shell>*+*,.stack>*+*{margin-top:18px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.page-header h1,.sheet-header h2{margin:0;font-size:clamp(1.85rem,5vw,2.55rem);line-height:.98;letter-spacing:-.05em;font-weight:800}.page-header p,.section-head p,.list-main p,.empty-state p,.history-row span,.muted{margin:0}.muted{color:var(--muted);line-height:1.45}.topbar-select{width:min(240px,48vw);flex-shrink:0}.page-back{margin-bottom:-6px}.section-block{display:grid;gap:14px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-head h2{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em}.hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.onboarding-slider{display:grid;gap:14px}.slider-window{overflow:hidden;border-radius:34px;border:1px solid var(--line);background:#ffffff05}.slider-track{display:flex;transition:transform .26s ease}.slide-card{flex:0 0 100%;display:grid;gap:18px;padding:18px}.slide-illustration{overflow:hidden;border-radius:28px;background:#ffffff05;border:1px solid var(--line)}.slide-illustration svg{display:block;width:100%;height:auto}.slide-illustration img{display:block;width:100%;height:auto}.slide-copy{display:grid;gap:8px}.slide-copy h2{margin:0;font-size:1.45rem;line-height:1.05;letter-spacing:-.04em}.slide-eyebrow{color:#fca5a5;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.slider-dots{display:flex;align-items:center;justify-content:center;gap:10px}.slider-dot{width:9px;height:9px;padding:0;border-radius:999px;border:0;background:#fff3;cursor:pointer;transition:width .16s ease,background-color .16s ease,transform .16s ease}.slider-dot.active{width:28px;background:var(--accent)}.metric-card{padding:16px 14px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#ffffff08,#ffffff03)}.metric-card span{display:block;color:var(--muted);font-size:.78rem}.metric-card strong{display:block;margin-top:8px;font-size:1.9rem;line-height:1;letter-spacing:-.05em}.summary-value{font-size:1.05rem;font-weight:800}.summary-value.warning{color:var(--warning)}.summary-value.danger{color:var(--danger)}.action-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.action-button,.primary-button,.ghost-button,.select-trigger,.segment{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-weight:600}.action-button svg{color:var(--accent)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;width:100%;padding:0 16px;border-radius:18px;background:linear-gradient(180deg,#ef4444,#b91c1c);color:#fff5f5;font-weight:700;box-shadow:0 14px 32px #b91c1c47}.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line);color:var(--text);font-weight:600}.compact-button{min-height:38px;padding:0 12px;border-radius:14px;width:auto}.primary-button:hover,.ghost-button:hover,.action-button:hover,.select-trigger:hover,.segment:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled,.action-button:disabled,.select-trigger:disabled{opacity:.55;cursor:not-allowed;transform:none}.list{display:grid;overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#ffffff08;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;min-width:0}.list-row+.list-row{border-top:1px solid var(--line)}.list-main{min-width:0;display:grid;gap:4px}.list-main strong{font-size:.98rem;letter-spacing:-.02em}.list-aside{flex-shrink:0;color:var(--muted)}.role-tag,.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase}.role-tag{color:#fecaca;background:#b91c1c38}.status-pill.ok{color:#bbf7d0;background:#22c55e2e}.status-pill.soon{color:#fdba74;background:#f973162e}.status-pill.overdue{color:#fecaca;background:#ef444438}.empty-state{display:grid;gap:8px;padding:20px 0 4px}.inline-actions{display:flex;flex-wrap:wrap;gap:10px}.field{display:grid;gap:8px;position:relative}.field>span{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.field input,.field select,.field textarea{width:100%;padding:15px 16px;border-radius:18px;border:1px solid var(--line);background:var(--surface);color:var(--text);outline:none}.field textarea{min-height:104px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#ef44448c;box-shadow:0 0 0 4px #ef44441f}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.segmented-control{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.segment{min-height:40px;padding:0 14px;border-radius:14px;background:transparent;color:var(--muted);font-weight:700}.segment.active{background:#ef444429;color:#fff}.status-box{padding:14px 15px;border-radius:18px;border:1px solid transparent;font-size:.94rem}.status-box.info{background:#ffffff0a;border-color:var(--line)}.status-box.success{background:#22c55e1f;border-color:#22c55e3d;color:#dcfce7}.status-box.error{background:#ef44441f;border-color:#ef444442;color:#fecaca}.structure-list{display:grid;gap:18px}.structure-section{display:grid;gap:12px}.section-label,.room-title{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:.88rem;font-weight:700;letter-spacing:.01em}.section-label:before,.room-title:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px #ef44441f}.room-group{display:grid;gap:10px}.plan-row{display:grid;gap:14px;padding:16px;border-radius:24px;border:1px solid var(--line);background:#ffffff08}.plan-main{display:grid;gap:8px}.plan-topline{display:flex;align-items:center;justify-content:space-between;gap:14px}.plan-topline strong{font-size:1rem}.history-list{display:grid;gap:8px;padding-top:2px}.history-card{display:grid;gap:6px;padding:12px 13px;border-radius:18px;border:1px solid var(--line);background:#ffffff05}.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.88rem}.history-costs{display:grid;gap:4px;color:var(--muted);font-size:.82rem}.history-costs strong{color:var(--text);font-size:.86rem}.media-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.media-card{display:grid;gap:10px}.media-thumb{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:22px;border:1px solid var(--line);background:var(--surface)}.media-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.82rem}.media-meta strong{color:var(--text);font-size:.88rem;font-weight:700}.share-link{display:block;margin-top:8px;color:#fca5a5;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;width:100%;padding:0 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--text)}.select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-popover{position:absolute;top:calc(100% + 10px);right:0;left:0;z-index:25;overflow:hidden;border-radius:22px;border:1px solid rgba(239,68,68,.2);background:linear-gradient(180deg,#141416fa,#0c0c0dfa);box-shadow:0 30px 70px #00000061}.select-search{position:relative;display:flex;align-items:center;padding:14px 14px 12px;border-bottom:1px solid var(--line);color:var(--muted)}.select-search svg{position:absolute;left:28px;top:50%;transform:translateY(-50%);pointer-events:none}.select-search input{flex:1;min-width:0;min-height:44px;padding:0 14px 0 42px;border:1px solid var(--line);border-radius:14px;background:#ffffff08;color:var(--text);outline:none}.select-search input:focus{border-color:#ef44448c;box-shadow:0 0 0 4px #ef44441f}.select-options{display:grid;max-height:280px;overflow-y:auto}.select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--text)}.select-option:first-child{border-top:0}.select-option small{color:var(--muted)}.select-option.active{background:#ef444429}.select-empty{padding:18px 16px;color:var(--muted)}.sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008f;border:0}.sheet-panel{position:absolute;right:0;bottom:0;left:0;max-width:760px;margin:0 auto;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;border:1px solid var(--line);border-bottom:0;background:linear-gradient(180deg,rgba(185,28,28,.14),transparent 22%),var(--bg-elevated);animation:sheet-up .22s ease}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.sheet-content{padding-top:16px}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100% - 18px,760px);margin:0 auto;padding:10px 12px calc(12px + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:28px 28px 0 0;background:#0a0a0be6;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.nav-item{display:grid;place-items:center;gap:4px;min-height:54px;border-radius:18px;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.02em;transition:background-color .14s ease,color .14s ease,transform .14s ease}.nav-item.active{background:#ef444424;color:#fff}.nav-item:not(.active):hover{transform:translateY(-1px);color:var(--text)}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.page-header,.section-head{flex-direction:column;align-items:stretch}.topbar-select{width:100%}.hero-grid,.action-bar,.form-grid{grid-template-columns:1fr}.plan-topline,.history-row{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
