:root{--font-family: "Inter", sans-serif;--color-bg: #f0f4f8;--color-primary: #4caf50;--color-accent: #45a049;--color-glass-bg: rgba(255,255,255,.75);--color-glass-border: rgba(0,0,0,.05);--color-table-header: #6ac273;--color-batch-1: rgba(255,255,255,.55);--color-batch-2: rgba(240,244,248,.65);--surface: #fff;--text: #111;--muted: #6b7280;--success-600: #388e3c;--danger: #ea574c;--danger-600: #d84e44;--ok-bg: #eafaf2;--ok-border: #4caf50;--warn-bg: #fff2f0;--warn-border: #ea574c;--border-radius: 1rem;--shadow-card: 0 6px 20px rgba(0,0,0,.06);--shadow-header: 0 2px 4px rgba(0,0,0,.1);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--container: 1320px;--nav-surface: rgba(255,255,255,.88);--nav-border: rgba(15,23,42,.08);--nav-shadow: 0 16px 36px rgba(15,23,42,.1);--nav-item-height: 38px;--nav-item-radius: 999px;--nav-text: #0f172a;--nav-text-muted: rgba(15,23,42,.55);--nav-hover: rgba(15,23,42,.08);--nav-disabled: rgba(148,163,184,.2);--nav-blur: 18px;--header-height: calc(var(--nav-item-height) + 1rem);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%2394A3B8' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");--summary-shell-bg: #f4f6fb;--summary-shell-accent: #eef2ff;--summary-surface: #ffffff;--summary-surface-alt: #f8fafc;--summary-border: rgba(15,23,42,.08);--summary-border-strong: rgba(15,23,42,.14);--summary-heading: #0b1220;--summary-muted: #55607a;--summary-chip-bg: #e3e9f9;--summary-tag-bg: #edf2ff;--summary-tag-active: #dbeafe;--summary-accent: #2563eb;--summary-accent-soft: rgba(37,99,235,.12);--summary-shadow: 0 30px 60px rgba(15,23,42,.12);--summary-table-stripe: rgba(15,23,42,.02);--summary-table-hover: rgba(37,99,235,.08)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;overscroll-behavior-x:none}body{margin:0;font-family:var(--font-family);background:var(--color-bg);color:var(--text);overflow-x:hidden;overscroll-behavior-x:none}body.is-plans-section{overscroll-behavior-x:none;overflow-x:clip}body.modal-scroll-lock{overflow:hidden}.hide{display:none!important}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.app-main{visibility:hidden}.app-main.is-ready{visibility:visible}.login-card-anim{opacity:0;transition:opacity .22s ease;will-change:opacity}.login-card-anim .login-card__panel{transform:translateY(-18px) scale(.98);opacity:0;transition:transform .3s cubic-bezier(.24,.82,.25,1),opacity .3s ease;will-change:transform,opacity}.login-card-anim.is-visible{opacity:1}.login-card-anim.is-visible .login-card__panel{transform:translateY(0) scale(1);opacity:1}.admin-toggle-btn{position:relative;width:var(--nav-item-height);height:var(--nav-item-height);border-radius:var(--nav-item-radius);border:1px solid transparent;background:#0f172a0d;color:var(--nav-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease,color .25s ease;padding:0}.admin-toggle-btn:hover{background:#2563eb1f;border-color:#2563eb40;box-shadow:0 10px 24px #2563eb2e;transform:translateY(-1px)}.admin-toggle-btn.is-open{background:#2563eb2e;border-color:#2563eb52;box-shadow:0 12px 28px #2563eb3d;transform:translateY(-1px)}.admin-toggle-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb47}body.is-admin .admin-toggle-btn{background:linear-gradient(135deg,#2563eb,#22c55e);border-color:transparent;box-shadow:0 12px 30px #2563eb47;color:#fff}body.is-admin .admin-toggle-btn:hover{transform:translateY(-1px)}.admin-toggle-btn .admin-icon{width:24px;height:24px}.admin-toggle-btn:after{display:none}.admin-icon__halo{fill:#0f172a0f;transition:fill .25s ease}body.is-admin .admin-icon__halo{fill:#3b82f638}.admin-icon__state{transform-origin:50% 50%;transition:opacity .26s ease,transform .26s ease}.admin-icon__state--in{opacity:0;transform:scale(.82)}body.is-admin .admin-icon__state--in,.admin-icon__state--out{opacity:1;transform:scale(1)}body.is-admin .admin-icon__state--out{opacity:0;transform:scale(1.12)}.admin-icon__badge{fill:#fff;stroke:#0f172a2e;stroke-width:1.2;transition:stroke .25s ease}.admin-icon__badge--active{stroke:none}.admin-icon__badge--desktop{fill:url(#adminIconGradientDesktop)}.admin-icon__badge--mobile{fill:url(#adminIconGradientMobile)}.admin-icon__glyph{fill:#0f172ac7;transition:fill .25s ease}body.is-admin .admin-icon__glyph--check{fill:#fff}.admin-popover{position:fixed;top:62px;right:32px;z-index:1400;display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;max-width:min(420px,calc(100vw - 40px));min-width:min(320px,calc(100vw - 40px));flex-wrap:wrap;border-radius:16px;background:#0f172af5;color:#f8fafc;box-shadow:0 20px 40px #0f172a59;transition:opacity .2s ease,transform .2s ease}.admin-popover #adminInfo{font-size:.9rem;letter-spacing:.01em;flex:1 1 auto;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-popover #adminInfo b{font-weight:600;color:#cbd5f5}.admin-popover #logoutBtn{margin-left:auto}.admin-popover .save-btn{background:#f8fafc1f;border:1px solid rgba(248,250,252,.25);color:#f8fafc}.admin-popover .save-btn:hover{background:#f8fafc38;border-color:#f8fafc59}.admin-popover .save-btn:focus-visible{outline:2px solid rgba(248,250,252,.6);outline-offset:3px}.admin-bar-collapsed{opacity:0;pointer-events:none;transform:translateY(-10px) scale(.95)}.admin-popover:not(.admin-bar-collapsed){opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}@media(max-width:768px){.admin-toggle-btn{width:34px;height:34px}.admin-toggle-btn .admin-icon{width:22px;height:22px}.admin-popover{right:16px;top:58px;max-width:calc(100vw - 24px)}}.badge{display:inline-block;padding:.15em .55em;border-radius:999px;font-size:.75rem;border:1px solid var(--ok-border);background:var(--ok-bg)}.badge.badge--local,.badge.badge--dirty{border-color:var(--warn-border);background:var(--warn-bg)}.save-btn.is-loading,.btn-secondary.is-loading,.btn-danger.is-loading{position:relative;pointer-events:none;opacity:.8}.save-btn.is-loading:after,.btn-secondary.is-loading:after,.btn-danger.is-loading:after{content:"";position:absolute;right:.6rem;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pulse-ok{box-shadow:0 0 0 2px #4caf5059;animation:pulsefade 1.4s ease forwards}@keyframes pulsefade{0%{box-shadow:0 0 0 2px #4caf5099}to{box-shadow:none}}#workbar .grid-break{grid-column:1 / -1;height:0}.login-card{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,4vw,3rem);background:#0f172aad;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:auto}.login-card__panel{position:relative;width:min(420px,100%);padding:clamp(2rem,4vw,2.4rem);border-radius:1.4rem;background:linear-gradient(135deg,#fffffffa,#f8fafced);box-shadow:0 34px 60px #0f172a40;display:grid;gap:clamp(1.6rem,3vw,2rem);color:#0f172a}.login-card__panel:before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(148,163,184,.18);pointer-events:none}.login-card__close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#f8fafc99;display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.login-card__close:hover{border-color:#3b82f666;background:#e2e8f0cc}.login-card__close:active{transform:scale(.97)}.login-card__close:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:3px}.login-card__hero{display:grid;gap:.75rem}.login-card__badge{align-self:start;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;background:#3b82f61f;color:#1d4ed8;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.login-card__hero h2{margin:0;font-size:clamp(1.4rem,2vw,1.6rem);font-weight:600;color:#0f172a}.login-card__hero p{margin:0;color:#475569;font-size:.95rem}.login-card__form{display:grid;gap:1.2rem}.login-card__field{display:grid;gap:.45rem}.login-card__field label{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#475569}.login-card__field input{width:100%;padding:.85rem 1rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.4);background:#ffffffeb;font-size:1rem;color:#0f172a;transition:border-color .2s ease,box-shadow .2s ease}.login-card__field input:focus{outline:none;border-color:#3b82f699;box-shadow:0 0 0 4px #3b82f62e}.login-card__field input::placeholder{color:#64748bb3}.login-card__submit{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:none;border-radius:.95rem;padding:.9rem 1.5rem;background:linear-gradient(135deg,#2563eb,#22c55e);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.login-card__submit:hover{transform:translateY(-1px);box-shadow:0 16px 30px #2563eb40}.login-card__submit:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}.login-card__submit-ico{opacity:.85}.login-card__support{margin:0;font-size:.85rem;color:#64748b}.login-card__support-link{color:#2563eb;font-weight:600;text-decoration:none;cursor:pointer}.login-card__support-link:hover{text-decoration:underline}.login-card__support-link.is-disabled{color:#64748b99;cursor:not-allowed;text-decoration:none;pointer-events:none}@media(max-width:520px){.login-card{padding:1.5rem}.login-card__panel{padding:1.8rem;gap:1.6rem}}body>header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(var(--nav-blur));-webkit-backdrop-filter:saturate(180%) blur(var(--nav-blur));background:var(--nav-surface);border-bottom:1px solid var(--nav-border);box-shadow:var(--nav-shadow);padding:0 var(--space-3)}body>header .header-inner{max-width:var(--container);margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.1rem;padding:.5rem 0}.nav-logo{appearance:none;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;height:var(--nav-item-height);padding:0 1rem;border-radius:calc(var(--nav-item-radius) - 6px);font-size:1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nav-text);cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease}.nav-logo:hover{background:#0f172a0f;transform:translateY(-1px)}.nav-logo:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb42}.nav-buttons{display:flex;align-items:center;gap:.3rem;position:relative}.nav-buttons>button{font:inherit}.nav-buttons .admin-toggle-btn{margin-left:.35rem}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn){border:1px solid transparent;background:transparent;color:var(--nav-text);height:var(--nav-item-height);padding:0 1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.95rem;font-weight:600;letter-spacing:.01em;border-radius:var(--nav-item-radius);cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn):hover{background:var(--nav-hover);transform:translateY(-1px)}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn):focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb38}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn).active{background:linear-gradient(135deg,#22c55e,#0ea5e9);color:#fff;border-color:transparent;box-shadow:0 10px 26px #0ea5e947;transform:translateY(-1px)}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn).active:hover{transform:translateY(-2px);box-shadow:0 14px 30px #0ea5e94d}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn)[disabled],.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn).is-loading{background:var(--nav-disabled);color:var(--nav-text-muted);cursor:not-allowed;box-shadow:none;transform:none}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn)[disabled]:hover{transform:none}.mobile-menu{display:none;flex-direction:column;gap:.35rem}@media(prefers-reduced-motion:reduce){.nav-logo,.nav-buttons>button,.admin-toggle-btn,.hamburger-btn,.mobile-menu button{transition:none!important;transform:none!important}.hamburger-icon:before,.hamburger-icon:after,.hamburger-icon span{transition:none!important}.nav-buttons.open .mobile-menu{animation:none!important;opacity:1!important;transform:translate(-50%)!important}}.hamburger-btn{border:1px solid transparent;background:#0f172a0d;color:var(--nav-text);cursor:pointer;padding:0 .7rem;display:none;align-items:center;justify-content:center;height:var(--nav-item-height);border-radius:var(--nav-item-radius);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}.hamburger-btn:hover{background:#2563eb1f;border-color:#2563eb38;transform:translateY(-1px)}.hamburger-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb38}.hamburger-btn.active{background:#2563eb2e;border-color:#2563eb52;box-shadow:0 10px 24px #2563eb38;transform:translateY(-1px)}.hamburger-icon{width:24px;height:18px;position:relative;display:block}.hamburger-icon:before,.hamburger-icon:after,.hamburger-icon span{content:"";position:absolute;left:0;right:0;height:2px;border-radius:999px;background:currentColor;transition:transform .28s ease,opacity .28s ease}.hamburger-icon:before{top:2px}.hamburger-icon:after{bottom:2px}.hamburger-icon span{top:50%;transform:translateY(-50%)}.hamburger-btn.active .hamburger-icon:before{transform:translateY(7px) rotate(45deg)}.hamburger-btn.active .hamburger-icon:after{transform:translateY(-7px) rotate(-45deg)}.hamburger-btn.active .hamburger-icon span{opacity:0}main{padding:var(--space-8);max-width:var(--container);margin:0 auto;width:100%}main.full-width{max-width:none;padding-left:clamp(1.5rem,4vw,3rem);padding-right:clamp(1.5rem,4vw,3rem);padding-top:0}section{display:none}section.active{display:block}.section-title{margin:0 0 var(--space-4);font-size:1.5rem;font-weight:700;color:var(--text)}#homeSection .section-title{display:none}.home-layout{display:flex;flex-direction:column;gap:var(--space-5)}.home-header{display:flex;flex-direction:column;gap:.6rem}.home-heading{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#2563eb,#22c55e);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;padding-bottom:.25rem}.home-lead{display:none}.home-actions{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:var(--space-4);justify-content:center}.quickstart-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;padding:1.5rem 1.6rem;border-radius:1.1rem;border:1px solid transparent;background:linear-gradient(135deg,#f8fafceb,#e5e7ebeb);cursor:pointer;text-align:left;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;font:inherit}.quickstart-card:hover{transform:translateY(-3px);box-shadow:0 18px 32px #0f172a2e;border-color:#3b82f666;background:linear-gradient(135deg,#fffffffa,#e2e8f0f2)}.quickstart-card:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:3px}.quickstart-card:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none;border-color:#94a3b833;background:#f1f5f9bf}.quickstart-card:disabled:hover{transform:none;box-shadow:none}.quickstart-card:nth-child(1){background:linear-gradient(135deg,#e9d5ffe6,#ddd6fef5)}.quickstart-card:nth-child(2){background:linear-gradient(135deg,#ddf7e4e6,#bbf7d0fa)}.quickstart-card:nth-child(3){background:linear-gradient(135deg,#fef3c7eb,#fde68af0)}.quickstart-card:nth-child(4){background:linear-gradient(135deg,#dbeafed9,#bfdbfef5)}.quickstart-icon{font-size:2rem;line-height:1}.quickstart-content{display:flex;flex-direction:column;gap:.2rem}.quickstart-content strong{font-size:1.1rem;font-weight:600;color:#0f172a}@media(max-width:1200px){.home-actions{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:700px){.home-layout{gap:var(--space-4)}.home-heading{font-size:1.5rem}.home-lead{font-size:.95rem}.home-actions{grid-template-columns:1fr}}@media(min-width:701px){.section-title{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(max-width:700px){.section-title{font-size:1.25rem}}.glass-card{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);backdrop-filter:blur(10px);border-radius:var(--border-radius);padding:var(--space-6);box-shadow:var(--shadow-card);margin-bottom:var(--space-8)}.glass-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-4);margin-bottom:var(--space-5);align-items:end}#timerContent .glass-inputs{margin-bottom:0}input,select,textarea{width:100%;padding:.5rem;font-size:1rem;border:none;border-bottom:2px solid var(--color-primary);background:transparent;outline:none;box-sizing:border-box}input:focus,select:focus,textarea:focus{box-shadow:0 2px var(--color-primary)}.form-field{position:relative}.form-field--full{grid-column:1 / -1}.form-field--align-center{align-self:center}.form-field input,.form-field select,.form-field textarea{width:100%;padding:1rem .75rem .35rem;font-size:1rem;border:0;border-bottom:2px solid var(--color-primary);background:transparent;outline:none;box-sizing:border-box}.form-field input,.form-field select{height:44px}.form-field textarea{min-height:88px;line-height:1.35;padding-bottom:.6rem;resize:vertical}.form-checkbox{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:#1f2937;margin:.25rem 0 .65rem}.plans-settings-wall-form .form-checkbox{margin-bottom:.65rem}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#2563eb}.form-checkbox span{line-height:1.2}.form-checkbox.is-na{opacity:.55}.toolbar-chip--checkbox{padding:.3rem .6rem;min-height:38px;display:flex;align-items:center}.toolbar-chip--checkbox label{display:flex;align-items:center;gap:.45rem;width:100%;margin:0}.toolbar-chip--checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#60a5fa}.toolbar-chip--checkbox span{color:#f8fafc;font-weight:500;line-height:1.2}.form-field input::placeholder,.form-field textarea::placeholder{color:transparent}.form-field>label{position:absolute;left:.6rem;top:58%;transform:translateY(-50%);font-size:1rem;color:var(--muted);pointer-events:none;transition:top .18s ease,transform .18s ease,font-size .18s ease,color .18s ease,padding .18s ease}.form-field:focus-within>label,.form-field.has-value>label{top:-.25rem;transform:none;font-size:.84rem;color:var(--color-primary);background:var(--color-bg);padding:0 .25rem;border-radius:.25rem}.form-field--stacked>label{position:static;transform:none;font-size:.86rem;color:#475569;background:none;padding:0;margin:0 0 .35rem .1rem}.form-field--stacked:focus-within>label,.form-field--stacked.has-value>label{top:auto;transform:none;font-size:.86rem;color:#0f172a;background:none;padding:0}.form-field--stacked input,.form-field--stacked select,.form-field--stacked textarea{padding:.55rem .75rem}.form-field--stacked input::placeholder,.form-field--stacked textarea::placeholder{color:#94a3b8;opacity:1}.form-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#555 50%),linear-gradient(135deg,#555 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.form-field.field--counter{position:relative}.form-field.field--counter>label{position:absolute;left:.6rem;top:-.35rem;transform:none;font-size:.84rem;color:var(--color-primary);background:var(--color-bg);padding:0 .25rem;border-radius:.25rem;line-height:1.1;z-index:1}.field--counter .glass-count-controls{display:flex;align-items:flex-end;gap:.5rem;height:44px;padding:0 .75rem .28rem;border-bottom:2px solid var(--color-primary);background:transparent}.field--counter .glass-count-controls .mini-btn{height:22px;min-width:34px;font-size:.9rem;padding:0 .5rem;line-height:1;margin-bottom:1px}#glassCount{height:20px;min-width:2.2ch;text-align:center;font-weight:600;line-height:1}.form-field.is-na>label{top:-.25rem;transform:none;font-size:.84rem;color:var(--muted);background:var(--color-bg);padding:0 .25rem;border-radius:.25rem}.form-field.is-na:after{content:"Ikke aktuelt";position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.95rem;color:var(--muted);pointer-events:none}.form-field.is-na input{color:transparent}.form-field.is-na input:disabled{cursor:not-allowed}button.save-btn{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:.3rem;cursor:pointer;transition:background-color .2s,transform .1s}button.save-btn:hover{background:var(--color-accent)}button.save-btn:active{background:var(--success-600);transform:scale(.98)}button.save-btn:focus-visible{outline:2px solid #ffbb33;outline-offset:2px}.save-btn.mini-btn{padding:.45rem .7rem;font-size:.85rem}button.save-btn.save-btn--danger{background:var(--danger)}button.save-btn.save-btn--danger:hover,button.save-btn.save-btn--danger:active{background:var(--danger-600)}button.save-btn.save-btn--ok{background:#6ac273}button.save-btn.save-btn--ok:hover{filter:brightness(.95)}button.save-btn.save-btn--ok:active{background:#5dae65}ul.project-list{list-style:none;padding:0;margin:0}ul.project-list li{background:#fff;padding:.75rem;border-radius:.1rem;box-shadow:0 1px 3px #0000001a;margin-bottom:.75rem}.order-table{width:100%;border-collapse:collapse;margin-top:var(--space-4);background:var(--surface)}.order-table thead tr{background:var(--color-table-header)}.order-table thead th{color:#fff;border-right:none!important;border-left:none!important}.order-table thead th:last-child{height:100%;padding-left:0;padding-right:0}.order-table th,.order-table td{border:1px solid #ddd;padding:.4rem .5rem;text-align:center;vertical-align:middle}.order-table th:last-child,.order-table td:last-child{width:80px;min-width:48px;max-width:120px;text-align:center;padding-left:0;padding-right:0;border:none;border-top:none!important;border-bottom:none!important}.order-table tr.batch-color-1>td:not(:last-child){background:var(--color-batch-1);backdrop-filter:blur(2px)}.order-table tr.batch-color-2>td:not(:last-child){background:var(--color-batch-2);backdrop-filter:blur(2px)}.order-table tr.order-row--hidden-door{display:none}.order-row-actions{display:inline-flex;gap:.3em;align-items:center}.order-row-actions button{margin:0}.order-table tr.batch-color-1>td:first-child{box-shadow:inset 4px 0 #4682b459}.order-table tr.batch-color-2>td:first-child{box-shadow:inset 4px 0 #2e8b5759}.order-row-actions .delete-btn.delete-btn--hidden{visibility:hidden}.glass-edit-number-input{text-align:center}.glass-edit-number-input--id{width:40px}.glass-edit-number-input--qty{width:60px}.glass-edit-number-input--size{width:90px}.order-row-actions .edit-btn[disabled],.order-row-actions .edit-btn.is-disabled,.order-row-actions .delete-btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.6)}.glass-head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:var(--space-4)}.glass-head-row h1{margin:0}.glass-head-toggles{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.glass-head-row #wallModeToggle,.glass-head-row #wallTypeToggle{flex-shrink:0}.corner-wall-toolbar{grid-column:1 / -1;display:flex;align-items:center;gap:.75rem;padding:.35rem .25rem .25rem;border-top:1px dashed rgba(0,0,0,.1)}.corner-wall-status{font-size:.75rem;color:#4b5563}#glassSvg-container{border:4px solid rgba(255,255,255,.6);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;overflow:hidden;margin-top:var(--space-8);width:100%;max-height:50vw;min-height:120px;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch}#glassSvg-container.is-corner{max-height:clamp(360px,75vw,680px)}#glassSvg{width:100%;height:100%;display:block}.glass-svg-wrapper{flex:1 0 auto;display:flex;flex-direction:column}.glass-svg-wrapper--corner{gap:1.2rem;padding:1rem 1.4rem 1.4rem;background:#ffffff8c}.glass-svg-wrapper--corner .corner-svg{display:flex;flex-direction:column;gap:.6rem}.corner-svg__header{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#3f4a59}.glass-svg-wrapper--corner svg{width:100%;height:100%;display:block}.glass-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.glass-item{background:#fff;padding:.75rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;text-align:center;font-size:.9rem;line-height:1.2}.corner-results-wrapper{display:flex;flex-direction:column;gap:1rem}.corner-results{background:#ffffffd9;border-radius:.6rem;padding:.6rem .9rem .9rem;box-shadow:0 1px 3px #00000014}.corner-results__header{font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#4b5563;margin-bottom:.4rem}.mini-btn{padding:0;font-size:.52rem;min-width:3.5em;max-width:10em;height:2.5em;border-radius:.1em;display:inline-flex;align-items:center;justify-content:center;line-height:1.25;text-align:center;vertical-align:middle;box-sizing:border-box}.order-switch{display:flex;gap:.3em;margin-bottom:0;align-items:center;flex-wrap:nowrap}.switch-btn{display:inline-flex;align-items:center;gap:.5em;background:#f0f4f8;border:1.8px solid var(--color-primary);border-radius:999px;color:#1b2733;padding:.32em .9em .32em .6em;font-size:.68rem;font-weight:600;cursor:pointer;position:relative;overflow:hidden;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;min-width:6.8rem;justify-content:center;white-space:nowrap}.switch-btn .switch-ico{width:1.65em;height:1.65em;border-radius:50%;background:var(--color-primary);position:relative;flex-shrink:0;transition:transform .22s ease,background .18s ease}.switch-btn .switch-ico:before,.switch-btn .switch-ico:after{content:"";position:absolute;background:#fff;border-radius:1px}.switch-btn .switch-ico:before{width:14px;height:2px;top:50%;left:5px;transform:translateY(-50%)}.switch-btn .switch-ico:after{width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;top:50%;right:4px;transform:translateY(-50%) rotate(45deg)}.switch-btn .switch-label{white-space:nowrap;letter-spacing:.02em}.switch-btn.is-left .switch-ico{transform:scaleX(-1)}.switch-btn.is-alt{background:#1b2733;color:#fff;border-color:#0f172a}.switch-btn.is-alt .switch-ico{background:var(--success-600)}.switch-btn.is-animating{animation:switchPulse .28s ease}.switch-btn.active{background:var(--color-primary);color:#fff;border-color:var(--success-600)}.switch-btn--icon{padding:.25em .6em;width:auto;min-width:0;justify-content:center}.switch-btn--icon .switch-ico{width:2.6em;height:1.9em;background:none;border:none}.switch-btn--icon .door-ico{width:2.2em;height:1.9em}.switch-btn--icon .swing-ico{width:2.8em;height:2.1em}.switch-btn--icon .order-ico{width:3.6em;height:2.1em}.switch-btn--icon .switch-ico:before,.switch-btn--icon .switch-ico:after{display:none}.order-ico svg{width:100%;height:100%}.order-ico__panel{fill:#1160ad2e;stroke:var(--color-primary);stroke-width:1.3}.order-ico__door{fill:#1160ad52;stroke:var(--color-primary);stroke-width:1.3}.order-ico__arrow{fill:none;stroke:var(--color-primary);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.door-ico svg{width:100%;height:100%}.door-ico__frame{fill:#1160ad2e;stroke:var(--color-primary);stroke-width:1.3}.door-ico__knob{fill:var(--color-primary)}.swing-ico svg{width:100%;height:100%}.swing-ico__ring{fill:none;stroke:#1160ad59;stroke-width:1.6;stroke-dasharray:2 3}.swing-ico__arrow{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .18s ease}.swing-ico__head{opacity:0;transition:opacity .18s ease}.switch-btn:not(.is-out) .swing-ico__arrow--in{opacity:1;stroke:#2e7d32}.switch-btn:not(.is-out) .swing-ico__head--in{opacity:1;fill:#2e7d32}.switch-btn.is-out .swing-ico__arrow--out{opacity:1;stroke:#1565c0}.switch-btn.is-out .swing-ico__head--out{opacity:1;fill:#1565c0}@keyframes switchPulse{0%{transform:scale(1)}45%{transform:scale(1.05)}to{transform:scale(1)}}.glass-btn-row{display:flex;align-items:center;justify-content:flex-start;gap:.7em;flex-wrap:wrap}.glass-btn-row>*{min-width:0}.glass-btn-row>.order-switch,.glass-btn-row>#glassOrderSwitch,.glass-btn-row>#doorDirectionSwitch,.glass-btn-row>#doorSwingSwitch{flex:0 0 auto}#calculateBtn,#addToOrderBtn{flex:0 0 auto;min-width:120px;max-width:100%}#addToOrderBtn{margin-left:auto}.glass-btn-row .form-field--note{flex:0 1 220px;min-width:180px;max-width:260px}.order-actions{margin-top:1em;display:flex;gap:.6em;justify-content:space-between}.summary-back-btn{margin-top:1.5em}.export-options{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1400;padding:1rem}.export-options.hide{display:none}.export-card{width:100%;max-width:360px;background:#ffffffeb;backdrop-filter:blur(8px);border-radius:12px;box-shadow:0 10px 30px #0000002e;border:1px solid rgba(255,255,255,.5);padding:1rem 1.2rem}.export-card h4{margin:0 0 .6rem;font-size:1.05rem;color:#0f172a}.export-body{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.8rem}.radio-row{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:#1f2937}.radio-row input{width:1em;height:1em}.export-actions{display:flex;justify-content:flex-end;gap:.5rem}.export-actions .btn-secondary{min-width:90px}.width-check{font-size:1rem;padding:.2rem .8rem;background:#f7f9fb;border-radius:.4rem;border:1px solid #c2e7ca;color:var(--text);min-width:105px;min-height:2em;display:inline-flex;text-align:center;align-items:center;justify-content:center;line-height:1.4}.width-check.match{background:var(--ok-bg);border-color:var(--ok-border)}.width-check.mismatch{background:var(--warn-bg);border-color:var(--warn-border);color:#b00020}#widthCheck{margin-left:auto}.summary-order{box-shadow:0 1px 6px #0001;border:1px solid #e0e0e0;border-radius:.6em;padding:1em;margin-bottom:1.4em;background:#fafbfe}.summary-row{display:flex;align-items:stretch;gap:1.5em;flex-wrap:wrap;justify-content:space-between}.summary-text{flex:1;align-self:stretch}.summary-svgbox{flex:3;min-width:220px;max-width:420px;min-height:140px;height:100%;align-self:stretch;display:flex;align-items:center;justify-content:center;padding-left:8px;background:linear-gradient(transparent 23px,#00000008 24px) repeat-y,linear-gradient(90deg,transparent 23px,rgba(0,0,0,.03) 24px) repeat-x;background-size:24px 24px;border:1px solid rgba(0,0,0,.06);border-radius:.4rem;position:relative}.summary-svgbox .summary-glass-svg{width:100%!important;height:100%!important;display:block}.summary-order{position:relative}.summary-actions{position:absolute;top:8px;right:8px;z-index:5}.sheet-card .summary-actions{top:-6px;right:-6px}.summary-headline{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:space-between;margin-bottom:.4rem}.summary-headline .head-right{display:flex;align-items:center;gap:.4rem}.summary-headline .wall-note{color:#555}.summary-gear{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:.35rem;cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center}.summary-gear:hover{background:#fff}.summary-menu{position:absolute;top:38px;right:8px;min-width:140px;z-index:6;background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 24px #0000001f;border-radius:10px;overflow:hidden;transform-origin:top right;transform:scale(.98);opacity:0;pointer-events:none;transition:.15s ease}.summary-menu.show{transform:scale(1);opacity:1;pointer-events:auto}.summary-menu button{width:100%;text-align:left;padding:.55rem .75rem;background:#fff;border:none;cursor:pointer;font:inherit}.summary-menu button:hover{background:#f4f6f9}.dim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin:.5em 0 .7em}.dim-card{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:.7rem;border:1px solid rgba(0,0,0,.06);background:#fff;box-shadow:0 1px 2px #0000000a}.dim-card{white-space:nowrap}.qty-badge{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:700;background:#eef7ff;border:1px solid #cfe8ff;color:#0b1324}.dim-card .size{font-variant-numeric:tabular-nums;letter-spacing:.2px;color:#0b1324;opacity:.95}.dim-card .unit{color:#6b7280;font-size:.9em;margin-left:.15rem}.summary-order--corner{background:#f7f9ff}.summary-headline--corner{margin-bottom:.8rem}.summary-corner-grid{display:flex;flex-direction:column;gap:1.2rem}.summary-corner-wall{flex:1 1 auto;display:flex;flex-direction:column;gap:.6rem}.summary-corner-wall .summary-row{margin-top:.4rem}.summary-corner-wall .summary-text{flex:1 1 auto}.summary-corner-wall .summary-svgbox{flex:1 1 auto;max-width:none;min-width:200px}.summary-corner-wall .dim-list-vert{margin-top:.1rem}.summary-corner-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem}.corner-head-left,.corner-head-right{display:flex;align-items:center;gap:.45rem}.corner-label{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#3f4a59}.corner-id{font-size:.78rem;color:#4b5563}.corner-note{font-size:.75rem;color:#4b5563}.summary-svgbox--corner{min-height:160px}.summary-door-stats-card{margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.summary-no-data{color:#888}.corner-edit-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.corner-id-pills{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.corner-note-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.corner-note-field label{font-size:.85rem;color:#555}.corner-note-field input{width:100%;padding:.45rem .6rem;border-radius:.4rem;border:1px solid rgba(0,0,0,.15)}.corner-tabs{flex:1 1 auto}.edit-wall-meta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:.8rem}.edit-wall-note-field{min-width:220px}.edit-wall-note-label{display:block;font-size:.85em;color:#555}.edit-wall-note-input{width:100%;padding:.45rem .6rem;border-radius:.4rem;border:1px solid rgba(0,0,0,.15)}.glass-card--modal-spaced{margin:.6rem 0}.edit-wall-preview-shell{border:1px dashed rgba(0,0,0,.06);border-radius:.4rem;padding:.4rem;margin-top:.4rem}.edit-wall-preview-svg{width:100%;height:160px}.meta-chips{display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin:.35rem 0}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:#fff;color:#0b1324;font-size:.9em;box-shadow:0 1px 2px #0000000a}.chip--door-right{background:#e8f5ff;border-color:#b3e0ff}.chip--door-left{background:#eefcf2;border-color:#bdebc9}.chip--stats{background:#f6f7fb;border-color:#e0e5ef}.chip--opening{background:#eef4ff;border-color:#cddffe}.chip--door-type{background:#f3faf6;border-color:#c8e9d6}.summary-door-chip{position:absolute;top:8px;left:8px;padding:.2rem .48rem;font-weight:700;font-size:.9em;line-height:1;letter-spacing:.04em}.dim-list-vert{display:flex;flex-direction:column;gap:.4rem;margin:.5em 0 .7em}.timer-table th,.timer-table td{vertical-align:top;text-align:left}.timer-table th.sum-toggle{cursor:pointer;user-select:none}.timer-table th.sum-toggle:hover{text-decoration:underline}.timer-table th:nth-child(1),.timer-table td:nth-child(1){width:90px;white-space:nowrap}.timer-table th:nth-child(3),.timer-table td:nth-child(3){width:90px;white-space:nowrap;text-align:center}.hours-login-note{margin:0;color:#555}.timer-table-message{color:#666}.timer-table-message--error{color:#c00}.timer-table th:nth-child(2),.timer-table td:nth-child(2){white-space:normal;word-break:break-word}#hoursSection.timer-shell{--hours-pad: clamp(1.25rem, 2.5vw, 2.25rem);--hours-radius: 1.6rem;--hours-card-bg: linear-gradient(135deg, #ffffff, #f1f5f9);--hours-bg: radial-gradient(1200px 600px at 20% -10%, rgba(46, 125, 50, .08), transparent 60%), radial-gradient(900px 520px at 90% -20%, rgba(14, 116, 144, .08), transparent 55%), linear-gradient(180deg, rgba(248, 250, 252, .95), rgba(241, 245, 249, .92));--sheet-head-pad: .45rem;background:var(--hours-bg);border-radius:var(--hours-radius);padding:var(--hours-pad);box-shadow:0 30px 70px #0f172a1f;position:relative}#hoursSection .timer-card{background:var(--hours-card-bg);border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 36px #0f172a1a}#hoursSection .timer-card--project{background:linear-gradient(135deg,#edf6f0fa,#e9f4fafa)}#hoursSection .timer-topbar-shell{position:relative;z-index:20;padding:.55rem var(--hours-pad);margin:calc(-1 * var(--hours-pad)) calc(-1 * var(--hours-pad)) .5rem;background:linear-gradient(180deg,#f0f8f4f2,#ecf4f9eb);border:1px solid rgba(15,23,42,.12);border-bottom:none;border-radius:var(--hours-radius) var(--hours-radius) 1.1rem 1.1rem;box-shadow:0 8px 18px #0f172a14,inset 0 1px #ffffffb3;backdrop-filter:blur(12px);overflow:visible}#hoursSection .timer-topbar-shell:after{content:none}#hoursSection .timer-topbar-shell.combo-open{position:relative;z-index:1600}#hoursSection .timer-topbar{display:flex;align-items:center;justify-content:space-between;gap:.9rem}#hoursSection .timer-topbar__left{display:flex;flex-direction:row;align-items:center;gap:.6rem;flex:1 1 auto;min-width:0}#hoursSection .timer-topbar__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#64748b;white-space:nowrap;flex:0 0 auto}#hoursSection .timer-topbar__left .project-combo{flex:1 1 auto;min-width:0;height:40px}#hoursSection .timer-topbar__right{display:flex;align-items:center;gap:.7rem;justify-self:end;flex:0 0 auto}#hoursSection .timer-topbar__right .save-btn,#hoursSection .timer-topbar__right .btn-secondary,#hoursSection .timer-topbar__right .scope-toggle,#hoursSection .timer-topbar__right .toggle-btn{height:40px}#hoursSection .timer-topbar__divider{width:1px;height:26px;background:#0f172a1f;align-self:center}#hoursSection .timer-topbar__right .scope-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:none;border-bottom:1px solid rgba(15,23,42,.14);background:transparent}#hoursSection .timer-topbar__right .scope-toggle .toggle-btn{border:none;border-radius:0;background:transparent;color:#64748b;padding:.4rem .7rem;line-height:1.1;box-shadow:none;font-weight:600}#hoursSection .timer-topbar__right .scope-toggle .toggle-btn.is-active{background:var(--hours-card-bg);color:#0f172a;border:1px solid rgba(15,23,42,.08);border-bottom:none;border-radius:.9rem .9rem 0 0;margin-bottom:0;box-shadow:none;position:relative;z-index:2}#hoursSection .timer-topbar__right .scope-toggle .toggle-btn:focus-visible{outline:2px solid rgba(47,191,123,.35);outline-offset:2px}#hoursSection .timer-topbar__cta{min-height:38px}#hoursSection .timer-card--pending{margin-top:16px}.timer-card--scroll{overflow:auto}#timerDownloadModal .modal-dialog{max-width:720px}#timerDownloadModal .modal-body{display:flex;flex-direction:column;gap:.75rem}#hoursSection .timer-card--sheet{padding-top:var(--sheet-head-pad)}#hoursSection .timer-card__head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.6rem}#hoursSection .timer-card__title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}#hoursSection .timer-card__cta{box-shadow:0 6px 14px #0f172a1f}#hoursSection .project-head-row{margin:0 0 .4rem .2rem}#hoursSection .scope-toggle{background:#ffffffe6;border:1px solid rgba(15,23,42,.12);box-shadow:0 8px 18px #0f172a14}#hoursSection .scope-toggle .toggle-btn.is-active{background:linear-gradient(135deg,#1f7a55,#2fbf7b);color:#fff}#hoursSection .project-combo{background:#fffffff2;border:1px solid rgba(15,23,42,.12);box-shadow:0 10px 22px #0f172a14}#hoursSection .project-combo .combo-list{box-shadow:0 20px 40px #0f172a29}#hoursSection .order-table{border-radius:.9rem;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:#fff}#hoursSection .order-table thead tr{background:linear-gradient(135deg,#1f7a55,#2fbf7b)}#hoursSection .order-table thead th{color:#fff;font-weight:600;letter-spacing:.05em;font-size:.78rem}#hoursSection .order-table th,#hoursSection .order-table td{padding:.65rem .7rem;vertical-align:middle}#hoursSection .order-table tbody tr:hover{background:#2e7d3214}#hoursSection .timer-sheets-head{display:flex;align-items:flex-end;justify-content:space-between;margin:1.6rem 0 .7rem}#hoursSection .timer-sheets-meta{margin-top:.2rem;font-size:.85rem;color:#64748b}#hoursSection .timer-sheets{display:flex;flex-direction:column;gap:1.2rem}#hoursSection .sheet-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:var(--sheet-head-pad);border-bottom:1px solid rgba(15,23,42,.08);margin-bottom:.6rem;position:relative}#hoursSection .sheet-head__left{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem .6rem;min-width:0}#hoursSection .sheet-week__title{font-size:1.08rem;font-weight:700;line-height:1}#hoursSection .sheet-badges{display:flex;flex-wrap:wrap;gap:.4rem}#hoursSection .sheet-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid transparent;line-height:1}#hoursSection .sheet-badge--locked{gap:.35rem}#hoursSection .sheet-lock-ico{display:inline-flex;width:14px;height:14px}#hoursSection .sheet-badge.is-ok{background:#eafaf2;border-color:#b7ebc7;color:#166534}#hoursSection .sheet-badge.is-warn{background:#fff6e5;border-color:#fbd38d;color:#92400e}#hoursSection .sheet-badge.is-neutral{background:#eef2f7;border-color:#cbd5e1;color:#475569}#hoursSection .sheet-sum{font-weight:700;color:#0f172a;background:#f1f5f9;border-radius:999px;padding:.2rem .65rem;border:1px solid rgba(15,23,42,.08)}#hoursSection .sheet-right{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}#hoursSection .sheet-right .save-btn.mini-btn,#hoursSection .sheet-right .btn-secondary{padding:.4rem .65rem;border-radius:.6rem;font-size:.85rem}#hoursSection .sheet-right a.btn-secondary{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}#hoursSection .sheet-right .btn-secondary{background:#fff;border:1px solid rgba(15,23,42,.12);color:#0f172a}#hoursSection .sheet-right .btn-secondary:hover{background:#f8fafc}#hoursSection .summary-gear{background:#ffffffeb;border:1px solid rgba(15,23,42,.12);box-shadow:0 6px 16px #0f172a1f}#hoursSection .materials-section{background:#fafbfc;border:1px solid rgba(15,23,42,.06)}#hoursSection .timer-card{animation:timerCardIn .28s ease-out;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}#hoursSection .timer-card:hover{transform:translateY(-2px);box-shadow:0 22px 44px #0f172a29;border-color:#0f172a1f}#hoursSection .order-table tbody tr{transition:background-color .15s ease,transform .15s ease}#hoursSection .order-table tbody tr:hover{transform:translate(2px)}#hoursSection .sheet-badge{box-shadow:0 6px 14px #0f172a14;transition:transform .15s ease,box-shadow .15s ease}#hoursSection .sheet-badge:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a24}#hoursSection .scope-toggle .toggle-btn{transition:background .2s ease,color .2s ease,transform .15s ease}#hoursSection .scope-toggle .toggle-btn:active{transform:scale(.98)}#hoursSection .project-combo .combo-item{transition:background .15s ease,transform .15s ease}#hoursSection .project-combo .combo-item:hover{transform:translate(2px)}@keyframes timerCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#hoursSection .timer-card,#hoursSection .order-table tbody tr,#hoursSection .sheet-badge,#hoursSection .scope-toggle .toggle-btn,#hoursSection .project-combo .combo-item{animation:none!important;transition:none!important}}#timerAddModal .modal-dialog,#timerActionsModal .modal-dialog,#sheetEditModal .modal-dialog,#sheetSignModal .modal-dialog{background:linear-gradient(135deg,#fffffffa,#f4f7fbfa);border:1px solid rgba(15,23,42,.12);box-shadow:0 28px 64px #0f172a33;border-radius:1.1rem}#timerAddModal .modal-header,#timerActionsModal .modal-header,#sheetEditModal .modal-header,#sheetSignModal .modal-header{border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:.6rem}#timerAddModal .modal-header h3,#timerActionsModal .modal-header h3,#sheetEditModal .modal-header h3,#sheetSignModal .modal-header h3{font-size:1.2rem;font-weight:700;color:#0f172a}#timerAddModal .modal-subtitle,#timerActionsModal .modal-subtitle,#sheetEditModal .modal-subtitle,#sheetSignModal .modal-subtitle{color:#64748b}#timerAddModal .modal-footer,#timerActionsModal .modal-footer,#sheetEditModal .modal-footer,#sheetSignModal .modal-footer{background:linear-gradient(135deg,#f8fafcf2,#f1f5f9e6)}#timerAddModal.modal-backdrop,#timerActionsModal.modal-backdrop,#sheetEditModal.modal-backdrop,#sheetSignModal.modal-backdrop{background:radial-gradient(800px 400px at 20% 0%,rgba(16,185,129,.15),transparent 60%),radial-gradient(700px 360px at 80% 0%,rgba(59,130,246,.12),transparent 55%),#0f172a73;backdrop-filter:blur(4px)}#hoursSection .form-field input,#hoursSection .form-field textarea,#hoursSection .form-field select,#timerAddModal .form-field input,#timerAddModal .form-field textarea,#timerAddModal .form-field select,#timerActionsModal .form-field input,#timerActionsModal .form-field textarea,#timerActionsModal .form-field select,#sheetEditModal .form-field input,#sheetEditModal .form-field textarea,#sheetEditModal .form-field select,#sheetSignModal .form-field input,#sheetSignModal .form-field textarea,#sheetSignModal .form-field select{background:#fff;border:1px solid rgba(15,23,42,.14);border-bottom:1px solid rgba(15,23,42,.14);border-radius:.8rem;padding:1.05rem .85rem .6rem;box-shadow:inset 0 1px 2px #0f172a14;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}#hoursSection .form-field input,#hoursSection .form-field select,#timerAddModal .form-field input,#timerAddModal .form-field select,#sheetEditModal .form-field input,#sheetEditModal .form-field select,#sheetSignModal .form-field input,#sheetSignModal .form-field select{height:48px}#hoursSection .form-field textarea,#timerAddModal .form-field textarea,#sheetEditModal .form-field textarea,#sheetSignModal .form-field textarea{min-height:98px}#hoursSection .form-field--stacked input,#hoursSection .form-field--stacked select,#hoursSection .form-field--stacked textarea,#timerAddModal .form-field--stacked input,#timerAddModal .form-field--stacked select,#timerAddModal .form-field--stacked textarea,#sheetEditModal .form-field--stacked input,#sheetEditModal .form-field--stacked select,#sheetEditModal .form-field--stacked textarea,#sheetSignModal .form-field--stacked input,#sheetSignModal .form-field--stacked select,#sheetSignModal .form-field--stacked textarea{padding:.55rem .75rem}#hoursSection .form-field input:focus,#hoursSection .form-field textarea:focus,#hoursSection .form-field select:focus,#timerAddModal .form-field input:focus,#timerAddModal .form-field textarea:focus,#timerAddModal .form-field select:focus,#sheetEditModal .form-field input:focus,#sheetEditModal .form-field textarea:focus,#sheetEditModal .form-field select:focus,#sheetSignModal .form-field input:focus,#sheetSignModal .form-field textarea:focus,#sheetSignModal .form-field select:focus{border-color:#2fbf7b;box-shadow:0 0 0 3px #2fbf7b2e}#hoursSection .form-field>label,#timerAddModal .form-field>label,#sheetEditModal .form-field>label,#sheetSignModal .form-field>label{color:#64748b}#hoursSection .form-field:focus-within>label,#hoursSection .form-field.has-value>label,#timerAddModal .form-field:focus-within>label,#timerAddModal .form-field.has-value>label,#sheetEditModal .form-field:focus-within>label,#sheetEditModal .form-field.has-value>label,#sheetSignModal .form-field:focus-within>label,#sheetSignModal .form-field.has-value>label{color:#166534;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 0 0 3px #ffffffe6}#hoursSection .form-field--stacked>label,#timerAddModal .form-field--stacked>label,#sheetEditModal .form-field--stacked>label,#sheetSignModal .form-field--stacked>label{position:static;transform:none;background:none;border:none;box-shadow:none;padding:0;margin:0 0 .35rem .1rem;color:#475569}#hoursSection .form-field--stacked:focus-within>label,#hoursSection .form-field--stacked.has-value>label,#timerAddModal .form-field--stacked:focus-within>label,#timerAddModal .form-field--stacked.has-value>label,#sheetEditModal .form-field--stacked:focus-within>label,#sheetEditModal .form-field--stacked.has-value>label,#sheetSignModal .form-field--stacked:focus-within>label,#sheetSignModal .form-field--stacked.has-value>label{color:#0f172a;background:none;border:none;box-shadow:none}#timerActionsModal .action-info .chip,#timerActionsModal .action-info .spec-pill,#timerActionsModal .action-info .mat-pill{background:linear-gradient(135deg,#fff,#f2f6fa);border:1px solid rgba(15,23,42,.12);box-shadow:0 8px 16px #0f172a14}#timerActionsModal .sheet-list button{background:linear-gradient(135deg,#fff,#f3f6fb);border:1px solid rgba(15,23,42,.12);box-shadow:0 8px 16px #0f172a14;border-radius:.9rem;padding:.8rem 1rem}#timerActionsModal .sheet-list button:hover{background:linear-gradient(135deg,#fff,#e9f4ff)}#timerActionsModal .sheet-list button.create-new{background:linear-gradient(135deg,#eef7ff,#e0f0ff)}#timerActionsModal .sheet-list button.is-locked{opacity:.6;cursor:not-allowed;box-shadow:none}#hoursSection .sheet-group .group-toggle{background:linear-gradient(135deg,#fff,#f4f7fb);border:1px solid rgba(15,23,42,.12);box-shadow:0 10px 22px #0f172a1a}#hoursSection .sheet-group .group-toggle:hover{background:linear-gradient(135deg,#fff,#eaf3ff)}#hoursSection .date-picker{background:linear-gradient(135deg,#fff,#f2f6fb);border:1px solid rgba(15,23,42,.12);box-shadow:0 20px 40px #0f172a29}#hoursSection .date-suffix-btn{background:linear-gradient(135deg,#fff,#f3f6fb);border:1px solid rgba(15,23,42,.14);box-shadow:0 8px 16px #0f172a1f}#hoursSection .save-btn,#timerAddModal .save-btn,#timerActionsModal .save-btn,#sheetEditModal .save-btn,#sheetSignModal .save-btn{background:linear-gradient(135deg,#1f7a55,#2fbf7b);box-shadow:0 8px 18px #0f172a29;border:1px solid rgba(15,23,42,.12);border-radius:.6rem;font-weight:600;letter-spacing:.01em;padding:.45rem .95rem;line-height:1.1;min-height:42px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}#hoursSection .save-btn:hover,#timerAddModal .save-btn:hover,#timerActionsModal .save-btn:hover,#sheetEditModal .save-btn:hover,#sheetSignModal .save-btn:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 10px 22px #0f172a33}#hoursSection .save-btn:active,#timerAddModal .save-btn:active,#timerActionsModal .save-btn:active,#sheetEditModal .save-btn:active,#sheetSignModal .save-btn:active{transform:translateY(0)}#hoursSection .btn-secondary,#timerAddModal .btn-secondary,#timerActionsModal .btn-secondary,#sheetEditModal .btn-secondary,#sheetSignModal .btn-secondary{background:linear-gradient(135deg,#fff,#f1f5f9);border:1px solid rgba(15,23,42,.12);box-shadow:0 6px 14px #0f172a14;border-radius:.6rem;font-weight:600;color:#0f172a;padding:.45rem .95rem;line-height:1.1;min-height:42px}#hoursSection .btn-secondary:hover,#timerAddModal .btn-secondary:hover,#timerActionsModal .btn-secondary:hover,#sheetEditModal .btn-secondary:hover,#sheetSignModal .btn-secondary:hover{background:linear-gradient(135deg,#fff,#e9f2ff)}#hoursSection .btn-danger,#timerAddModal .btn-danger,#timerActionsModal .btn-danger,#sheetEditModal .btn-danger,#sheetSignModal .btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:1px solid rgba(15,23,42,.12);box-shadow:0 8px 18px #ef444438;border-radius:.6rem;font-weight:600;padding:.45rem .95rem;line-height:1.1;min-height:42px}#hoursSection .save-btn.mini-btn,#timerAddModal .save-btn.mini-btn,#timerActionsModal .save-btn.mini-btn,#sheetEditModal .save-btn.mini-btn,#sheetSignModal .save-btn.mini-btn,#hoursSection .btn-secondary.mini-btn,#timerAddModal .btn-secondary.mini-btn,#timerActionsModal .btn-secondary.mini-btn,#sheetEditModal .btn-secondary.mini-btn,#sheetSignModal .btn-secondary.mini-btn{min-height:32px;padding:.3rem .6rem;font-size:.82rem;border-radius:.5rem}#hoursSection .combo-item{background:linear-gradient(135deg,#fff,#f4f7fb);border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 14px #0f172a14}#hoursSection .combo-item:hover,#hoursSection .combo-item[aria-selected=true]{background:linear-gradient(135deg,#fff,#eaf4ff);border-color:#0f172a24}#hoursSection .mat-pill{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid rgba(15,23,42,.12);box-shadow:0 8px 14px #0f172a1a}#hoursSection .summary-gear{background:linear-gradient(135deg,#fff,#f1f5f9);border:1px solid rgba(15,23,42,.14);box-shadow:0 8px 18px #0f172a1f;border-radius:.7rem}#sheetEditModal .attach-field>label{font-weight:600;color:#0f172a}#sheetEditModal .attach-info{color:#475569}#timerSheetsWrap .timer-table th:last-child,#timerSheetsWrap .timer-table td:last-child{border:1px solid #ddd;border-top:1px solid #ddd!important;border-bottom:1px solid #ddd!important;padding-left:.5rem;padding-right:.5rem;width:90px;white-space:nowrap;text-align:center}#timerPendingTable th:last-child,#timerPendingTable td:last-child{border:1px solid #ddd;border-top:1px solid #ddd!important;border-bottom:1px solid #ddd!important;padding-left:.5rem;padding-right:.5rem;width:90px;white-space:nowrap;text-align:center}#timerPendingTable tbody tr{cursor:pointer}#timerPendingTable tbody tr:hover{background:#00000006}#timerSheetsWrap .timer-table tbody tr.row-action{cursor:pointer}#timerSheetsWrap .timer-table tbody tr.row-action:hover{background:#00000006}#timerSheetsWrap .timer-table tbody td.has-move{position:relative;padding-right:26px}#timerSheetsWrap .timer-table tbody td .move-hint{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#9aa4b2;opacity:0;transition:opacity .15s ease,color .15s ease}#timerSheetsWrap .timer-table tbody tr.row-action:hover td .move-hint{opacity:1;color:#0b6fbf}#timerSheetsWrap .timer-table-virtual-scroll,#timerPendingCard .timer-table-virtual-scroll{max-height:clamp(240px,44vh,430px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}#timerSheetsWrap .timer-table-virtual-scroll .timer-table thead th,#timerPendingCard .timer-table-virtual-scroll .timer-table thead th{position:sticky;top:0;z-index:2}#timerSheetsWrap .timer-table--virtualized .timer-spec-text,#timerPendingCard .timer-table--virtualized .timer-spec-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#timerSheetsWrap .timer-table tbody tr.virtual-spacer>td,#timerPendingCard .timer-table tbody tr.virtual-spacer>td{border:none!important;padding:0!important;background:transparent!important;pointer-events:none}#timerSheetsWrap .materials-section{display:block;margin-top:.8rem;padding:.7rem .8rem;border-radius:.6rem;background:#f7f9fb;border:1px solid rgba(0,0,0,.06)}#timerSheetsWrap .materials-section .materials-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;color:#0b1324;margin-bottom:.5rem}#timerSheetsWrap .materials-section .materials-head .ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#eef7ff;border:1px solid rgba(0,0,0,.06);border-radius:.5rem}#timerSheetsWrap .materials-section .materials-head .label{font-weight:600;letter-spacing:.02em}#timerSheetsWrap .materials-section .materials-head .meta{color:#6b7280;font-size:.9em;margin-left:auto}#timerSheetsWrap .materials-section .materials-list{list-style:disc;padding-left:1.25rem;margin:.25rem 0 0;display:block}#timerSheetsWrap .materials-section .mat-item{list-style:disc;background:transparent;border:none;border-radius:0;padding:0;margin:.25rem 0;display:list-item}#timerSheetsWrap .materials-section .mat-text{color:#111827;word-break:break-word}#timerSheetsWrap .materials-section .mat-qty{margin-left:.35rem;color:#6b7280;font-weight:600;background:none;border:none}.mat-pill{display:inline-block;margin-top:.18rem;padding:.12rem .4rem;background:#fff6e5;border:1px solid rgba(0,0,0,.08);color:#8a5a00;border-radius:.4rem;font-size:.85em;line-height:1.2}.sheet-head{position:relative;display:flex;align-items:center;margin-bottom:.4rem;min-height:1.8rem}.sheet-week{font-weight:600;color:#111;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.sheet-week__label{font-weight:600;color:#111}.sheet-week__title{font-size:1.05rem;font-weight:600;color:#111}.sheet-center{position:absolute;left:50%;transform:translate(-50%);color:#6b7280;font-size:.95em;letter-spacing:.02em}.sheet-center.is-link{cursor:pointer;text-decoration:underline}.sheet-center.is-link:hover{color:#0b6fbf}.sheet-right{margin-left:auto;display:flex;align-items:center;gap:.5rem}.sheet-title{margin:0;font-size:1.05rem}.icon-btn{background:#fff;border:1px solid rgba(0,0,0,.12);padding:.3rem .45rem;border-radius:.45rem;cursor:pointer;line-height:1}.icon-btn:hover{background:#f7f9fb}.sheet-card{position:relative}.sheet-group{margin-bottom:var(--space-6)}.sheet-group .group-header{display:flex;justify-content:space-between;align-items:center;margin:.2rem 0 .4rem}.sheet-group .group-toggle{appearance:none;border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:.6rem;padding:.45rem .7rem;cursor:pointer;font:inherit;color:#374151;display:flex;align-items:center;justify-content:space-between;width:100%}.sheet-group .group-toggle:hover{background:#f7f9fb}.sheet-group .group-toggle .group-label{font-weight:600}.sheet-group .group-toggle .group-total{color:#0b1324;font-weight:700}.sheet-group .group-body.hide{display:none}.scope-toggle{display:inline-flex;border:1px solid rgba(0,0,0,.12);border-radius:.6rem;overflow:hidden;background:#fff}.scope-toggle .toggle-btn{appearance:none;border:none;background:transparent;padding:.45rem .8rem;cursor:pointer;font:inherit;color:#374151}.scope-toggle .toggle-btn:not(:first-child){border-left:1px solid rgba(0,0,0,.08)}.scope-toggle .toggle-btn.is-active{background:#0b6fbf;color:#fff}.scope-toggle .toggle-btn:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px;position:relative;z-index:1}.scope-toggle--mini{transform:none}.scope-toggle--mini .toggle-btn{padding:.45rem .75rem;font-size:.9em}.date-suffix-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.4rem;padding:.2rem .3rem;cursor:pointer}.date-suffix-btn:hover{background:#f7f9fb}.form-field:has(#timerDate){position:relative}.date-picker{position:absolute;z-index:1200;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.6rem;box-shadow:0 10px 24px #0000001f;padding:.4rem;width:260px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:.15s ease}.date-picker.show{opacity:1;pointer-events:auto;transform:translateY(0)}.date-picker .dp-head{display:flex;align-items:center;justify-content:space-between;padding:.2rem .2rem .4rem}.date-picker .dp-title{font-weight:600;color:#0b1324;text-transform:capitalize}.date-picker .dp-nav{background:#f2f5f8;border:1px solid rgba(0,0,0,.08);border-radius:.4rem;padding:.2rem .5rem;cursor:pointer}.date-picker .dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;padding:.2rem}.date-picker .dp-dow{text-align:center;color:#6b7280;font-size:.85em;padding:.2rem 0}.date-picker .dp-day{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:.4rem;padding:.35rem 0;cursor:pointer;text-align:center}.date-picker .dp-day:hover{background:#f7f9fb}.date-picker .dp-day.is-today{box-shadow:inset 0 0 0 2px #8ec5ff}.date-picker .dp-day.is-selected{background:#0b6fbf;color:#fff;border-color:#0b6fbf}.date-picker .dp-foot{display:flex;justify-content:flex-end;padding:.3rem}.date-picker .dp-foot .dp-today{background:#eef7ff;border:1px solid rgba(0,0,0,.08);border-radius:.4rem;padding:.2rem .5rem;cursor:pointer}.project-combo{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border:1px solid rgba(0,0,0,.12);border-radius:.7rem;background:#fff;box-shadow:0 1px 2px #0000000a}.project-combo .combo-ico{width:18px;height:18px;flex:0 0 auto}.project-combo input{flex:1 1 auto;border:none;outline:none;background:transparent;padding:.2rem;font-size:1rem}.project-combo .combo-caret{background:#f2f5f8;border:1px solid rgba(0,0,0,.08);border-radius:.4rem;padding:.2rem .45rem;cursor:pointer}.project-combo .combo-caret:hover{background:#e9eef3}.project-combo .combo-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:1500;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.7rem;box-shadow:0 10px 24px #0000001f;max-height:260px;overflow:auto;padding:.25rem;display:none}.project-combo[aria-expanded=true] .combo-list{display:block}.glass-card.combo-open{position:relative;z-index:1400}.combo-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .6rem;border-radius:.5rem;cursor:pointer}.combo-item:hover,.combo-item[aria-selected=true]{background:#f7f9fb}.combo-item .item-title{font-weight:600;color:#0b1324}.combo-item .item-meta{color:#6b7280;font-size:.92em}#hoursSection .project-combo{background:linear-gradient(135deg,#fff,#f7fafc);border-color:#0f172a24;box-shadow:0 8px 20px #0f172a14}#hoursSection .project-combo .combo-list{background:linear-gradient(180deg,#fff,#f6f9fb);border-color:#0f172a24;box-shadow:0 18px 36px #0f172a1f;padding:.35rem}#hoursSection .project-combo .combo-item{padding:.55rem .7rem;border-radius:.7rem;border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#fff,#f4f7fb);box-shadow:0 6px 14px #0f172a14}#hoursSection .project-combo .combo-item:hover,#hoursSection .project-combo .combo-item[aria-selected=true]{background:linear-gradient(135deg,#fff,#eaf4ff);border-color:#0f172a24}#hoursSection .project-combo input{border:none!important;border-bottom:none!important;box-shadow:none!important}#hoursSection .project-combo input:focus{box-shadow:none!important}#hoursSection .project-combo:focus-within{border-color:#0f172a33;box-shadow:0 0 0 2px #2fbf7b1f}@media(max-width:900px){#hoursSection .timer-topbar{flex-direction:column;align-items:stretch}#hoursSection .timer-topbar__right{justify-content:flex-end}}@media(max-width:640px){#hoursSection .timer-topbar__left{flex-direction:column;align-items:stretch}#hoursSection .timer-topbar__right{flex-wrap:wrap;justify-content:flex-start}#hoursSection .scope-toggle--mini{transform:scale(1)}}.id-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;background:#eef7ff;border:1px solid rgba(0,0,0,.1);font-weight:600;font-size:1rem;color:#0b1324;height:2.4em;box-sizing:border-box}.id-chip .id-chip-label{opacity:.85;font-weight:700}.id-chip .id-chip-note{color:#555;font-weight:600}.door-only-info{color:#555;font-size:.85em;margin-left:.6em}.door-only-info.hide{display:none}.btn-ico{display:inline-block;width:1em;height:1em;margin-right:.45rem;vertical-align:middle}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .18s ease-out}#confirmDeleteModal{z-index:1100}.modal-dialog{width:100%;max-width:420px;background:#ffffffe6;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:12px;box-shadow:0 10px 30px #00000026;overflow:hidden;transform:translateY(4px);animation:slideUp .18s ease-out;max-height:min(94vh,100%);overflow-y:auto}#editWallModal .modal-dialog,#editCornerWallModal .modal-dialog{max-width:960px}#timerAddModal .modal-dialog{max-width:820px;overflow:visible}#timerActionsModal .modal-dialog{max-width:820px}#timerActionsModal{z-index:2000}#timerActionsModal .modal-header{padding-bottom:.4rem}#sheetEditModal{z-index:2100}.modal-header{padding:1rem 1rem .5rem}.modal-header h3{margin:0;font-size:1.1rem}.modal-header__stack{display:flex;flex-direction:column;gap:.15rem}.modal-subtitle{margin:0;font-size:.9rem;color:#6b7280}.modal-body{padding:0 1rem 1rem;color:#333}.modal-footer{padding:.9rem 1rem 1.1rem;display:flex;gap:.6rem;justify-content:flex-end;background:#f0f4f899}.modal-footer--between{justify-content:space-between}.btn-secondary,.btn-danger{border:none;border-radius:8px;padding:.6rem 1rem;cursor:pointer;font:inherit}.btn-secondary{background:#e9edf1;color:#111}.btn-secondary:hover{background:#dde3ea}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-600)}button.save-btn:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.glass-batch-card{margin:.5em 0;display:flex;justify-content:space-between;align-items:center;gap:.6em;flex-wrap:wrap}.glass-batch-card-info{flex:1 1 auto;min-width:200px}.batch-manage-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.glass-batch-empty-note{margin:.5em 0;color:#555}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(12px)}to{transform:translateY(0)}}@media(min-width:600px){.glass-inputs{grid-template-columns:repeat(5,1fr);align-items:end;gap:var(--space-4)}.glass-inputs>*:not(.glass-btn-row){grid-column:span 1;min-width:0}.glass-inputs>.glass-btn-row{grid-column:1 / -1;margin-top:.5rem}}#timerAddModal .glass-inputs{grid-template-columns:1fr auto;gap:.8rem;align-items:start}#timerAddModal .glass-inputs .form-field:has(#timerDate){grid-column:1 / 2}#timerAddModal .glass-inputs .form-field:has(#timerHours){grid-column:2 / 3;justify-self:end}#timerAddModal .glass-inputs .form-field:has(#timerSpec){grid-column:1 / -1}#timerAddModal .glass-inputs .form-field:has(#timerMaterials){grid-column:1 / -1}#timerAddModal .form-field:not(.form-field--stacked) #timerDate+label{top:-.25rem;transform:none;font-size:.84rem;color:#166534;background:#fff;padding:0 .25rem;border-radius:.25rem;white-space:nowrap}#timerAddModal .form-field:not(.form-field--stacked) #timerDate{padding-top:1.35rem}#timerAddModal .form-field:not(.form-field--stacked) #timerSpec+label,#timerAddModal .form-field:not(.form-field--stacked) #timerMaterials+label{top:-.25rem;transform:none;font-size:.84rem;color:#166534;background:#fff;padding:0 .25rem;border-radius:.25rem}.form-field .field-hint{display:block;margin:.15rem .25rem 0;font-size:.78rem;color:var(--muted)}#sheetEditModal .attach-field>label{position:static;transform:none;top:auto;font-size:.85rem;color:#6b7280;padding:0;background:none;display:block;margin:0 0 .25rem .1rem}#sheetEditModal .attach-field .attach-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}#sheetEditModal .attach-field .attach-info{color:#111827;font-size:.95em;font-weight:600;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sheetEditModal .attach-field .attach-info .attach-label{color:#6b7280;font-weight:600;margin-right:.35rem}#sheetEditModal .attach-field .attach-info .attach-name{color:#0f172a}#sheetEditModal .attach-field .attach-actions{display:flex;gap:.5rem;margin-left:auto;flex-wrap:wrap}#sheetEditModal .attach-field .attach-actions .btn-secondary,#sheetEditModal .attach-field .attach-actions .save-btn{height:40px;padding:0 .9rem}#sheetEditModal .attach-field .attach-actions a.btn-secondary{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}#sheetEditModal .attach-field .attach-input-hidden{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}#sheetEditModal .form-field:not(.form-field--stacked) #sheetSignDate+label{top:-.25rem;transform:none;font-size:.84rem;color:#475569;background:#fff;padding:0 .25rem;border-radius:.25rem}#sheetEditModal .form-field:not(.form-field--stacked) #sheetSignDate{padding-top:1.35rem;text-align:left}#sheetEditModal .form-field:has(#sheetSignDate){position:relative}#sheetEditModal .form-field.sheet-edit-name{grid-column:1 / 2}#sheetEditModal .form-field.sheet-edit-date{grid-column:2 / 3;justify-self:end;min-width:180px}#sheetEditModal .form-field.sheet-edit-date{position:relative}#sheetEditModal .form-field.sheet-edit-date .sheet-date-placeholder{position:absolute;left:.85rem;right:2.6rem;top:1.45rem;font-size:.95rem;color:#94a3b8;pointer-events:none;opacity:0;transition:opacity .15s ease}#sheetEditModal .form-field--stacked .sheet-date-placeholder{display:none}@supports (-webkit-touch-callout: none){#sheetEditModal .form-field.sheet-edit-date:not(.has-value):not(:focus-within) .sheet-date-placeholder{opacity:1}#sheetEditModal input[type=date]::-webkit-date-and-time-value{text-align:left}#sheetEditModal .form-field.sheet-edit-date input[type=date]{-webkit-appearance:none;appearance:none;height:48px;min-height:48px;max-height:48px;padding-top:1.05rem;padding-bottom:.6rem}}#timerAddModal #timerHours{max-width:7ch}#timerAddModal .glass-inputs .form-field:has(#timerHours){justify-self:start}#timerActionsModal .sheet-list{display:grid;grid-template-columns:1fr;gap:.5rem;max-height:340px;overflow:auto;padding:2px}#timerActionsModal .sheet-list button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.7rem .9rem;border-radius:.7rem;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;font:inherit;transition:.15s ease;box-shadow:0 1px 2px #0000000a}#timerActionsModal .sheet-list button:hover{background:#f7f9fb;border-color:#0000002e}#timerActionsModal .sheet-list button:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px}#timerActionsModal .sheet-list .sheet-title{font-weight:600;color:#0b1324}#timerActionsModal .sheet-list .sheet-meta{display:inline-flex;align-items:center;gap:.45rem;color:#6b7280}#timerActionsModal .sheet-list .sheet-meta .tag{background:#eef7ff;border:1px solid rgba(0,0,0,.08);color:#0b1324;border-radius:999px;padding:.1rem .45rem;font-size:.82em;font-weight:600}#timerActionsModal .sheet-list .sheet-meta .arrow{color:#9aa4b2;font-size:1.1em}#timerActionsModal .sheet-list button.create-new{border-style:dashed;border-color:#84c5ff;background:#f5fbff;color:#0b1324}#timerActionsModal .sheet-list button.create-new:hover{background:#eef7ff}#timerActionsModal .sheet-list button.create-new .plus{margin-right:.4rem;font-weight:700;color:#0b6fbf}#timerActionsModal .action-info{margin:.2rem 0 .8rem;color:#1f2937}#timerActionsModal .timer-assign-note{margin:.1rem 0 .5rem;color:#555}.timer-empty-note{margin:.35rem 0;color:#666}#timerActionsModal .action-info .info-row{display:grid;gap:.5rem;align-items:center;margin-bottom:.5rem;grid-template-columns:max-content 1fr max-content;grid-template-areas:"date spec hours"}#timerActionsModal .action-info .chip--date{grid-area:date}#timerActionsModal .action-info .chip--hours{grid-area:hours;justify-self:end}#timerActionsModal .action-info .spec-pill{grid-area:spec;min-width:160px;background:#f4f6fb;border:1px solid rgba(0,0,0,.06);border-radius:9999px;padding:.5rem .75rem;color:#374151;box-shadow:0 1px 2px #00000008;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,border-radius .15s ease}#timerActionsModal .action-info .spec-pill.spec-pill--measure{display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;max-height:none}#timerActionsModal .action-info .spec-pill.spec-full{grid-column:1 / -1;grid-area:spec;border-radius:.6rem;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;white-space:normal!important;max-height:none}#timerActionsModal .action-info .spec-pill.is-editing{background:#fff}#timerActionsModal .action-info .spec-pill:not(.is-editing):hover{background:#f7f9fb}#timerActionsModal .action-info .mat-wrap{margin-top:.4rem}#timerActionsModal .action-info .mat-pill{grid-area:spec;min-width:160px;background:#f4f6fb;border:1px solid rgba(0,0,0,.06);border-radius:9999px;padding:.5rem .75rem;color:#374151;box-shadow:0 1px 2px #00000008;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,border-radius .15s ease}#timerActionsModal .action-info .mat-pill.mat-full{border-radius:.6rem;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;white-space:normal!important;max-height:none}#timerActionsModal .action-info .mat-pill.is-editing{background:#fff}#timerActionsModal .action-info .mat-pill:not(.is-editing):hover{background:#f7f9fb}@keyframes pillEditIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}#timerActionsModal .action-info .spec-pill.is-editing textarea,#timerActionsModal .action-info .mat-pill.is-editing textarea{animation:pillEditIn .15s ease-out}#timerActionsModal .action-info .mat-pill textarea{width:100%;min-height:72px;resize:vertical;border:none!important;outline:none;background:transparent;font:inherit;color:#0f172a;padding:0;box-shadow:none!important;line-height:1.4}#timerActionsModal .action-info .spec-pill.is-editing{background:linear-gradient(135deg,#fff,#f4f7fb);border:1px solid rgba(15,23,42,.14);border-radius:.9rem;box-shadow:inset 0 1px 2px #0f172a1a;padding:.65rem .8rem}#timerActionsModal .action-info .spec-pill textarea{width:100%;min-height:72px;resize:vertical;box-sizing:border-box;border:none!important;outline:none;background:transparent;box-shadow:none!important;font:inherit;color:#0f172a;padding:0;margin:0;line-height:1.4}#sheetEditModal .modal-dialog{max-width:960px;width:min(92vw,960px)}#sheetEditModal .glass-inputs{grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:start;gap:.9rem 1rem;margin-bottom:1.25rem}#sheetEditModal .attach-field{grid-column:1 / -1;margin-top:.6rem;border-top:1px solid rgba(15,23,42,.08);padding-top:.75rem}#sheetEditModal .modal-body{padding:.6rem 1.4rem 1.2rem}#sheetEditModal .sheet-lock-note{margin:.2rem 0 1rem;padding:.7rem .85rem;border-radius:.85rem;border:1px solid rgba(245,158,11,.35);background:#fde68a40;color:#92400e;font-size:.92rem;line-height:1.4}#sheetEditModal.is-locked .form-field input:disabled,#sheetEditModal.is-locked .form-field textarea:disabled,#sheetEditModal.is-locked .form-field select:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}#sheetEditModal .modal-footer{justify-content:space-between;flex-wrap:wrap;gap:.8rem}#sheetEditModal .modal-footer>div{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}#sheetEditModal .modal-footer button{min-width:128px;height:42px}#sheetEditModal .form-field input:focus,#sheetEditModal .form-field textarea:focus,#sheetEditModal .form-field select:focus{border-color:#0f172a2e;box-shadow:0 0 0 2px #2fbf7b1f}#sheetEditModal .form-field:focus-within>label,#sheetEditModal .form-field.has-value>label{color:#334155;border:1px solid rgba(15,23,42,.06);box-shadow:0 0 0 2px #ffffffd9}#timerAddModal .form-field.is-invalid input,#timerAddModal .form-field.is-invalid textarea,#timerAddModal .form-field.is-invalid select,#sheetEditModal .form-field.is-invalid input,#sheetEditModal .form-field.is-invalid textarea,#sheetEditModal .form-field.is-invalid select{border-color:#b91c1c!important;box-shadow:0 0 0 3px #b91c1c24}.modal-field-error{min-height:1rem;margin-top:.22rem;font-size:.72rem;color:#b91c1c;line-height:1.2;visibility:hidden}.modal-field-error.is-visible{visibility:visible}@media(max-width:640px){#sheetEditModal .glass-inputs{grid-template-columns:1fr}#sheetEditModal .form-field.sheet-edit-date{grid-column:1 / -1;justify-self:stretch;min-width:0}}#timerActionsModal .action-info .spec-pill.is-editing,#timerActionsModal .action-info .mat-pill.is-editing{background:linear-gradient(135deg,#fff,#f4f7fb);border:1px solid rgba(15,23,42,.14);border-radius:.9rem;box-shadow:inset 0 1px 2px #0f172a1a;padding:.65rem .8rem;display:block;-webkit-line-clamp:unset!important;-webkit-box-orient:unset!important;overflow:visible!important}#timerActionsModal .action-info .mat-pill.is-editing{margin-top:.2rem}#timerActionsModal .action-info .spec-pill.is-editing textarea,#timerActionsModal .action-info .mat-pill.is-editing textarea{min-height:64px;line-height:1.4;color:#0f172a}#timerActionsModal .modal-body{padding-top:.6rem}#timerActionsModal .action-info{margin-bottom:1.1rem}#sheetEditModal .modal-footer{align-items:center}#sheetEditModal .modal-footer>div{display:flex;align-items:center;gap:.6rem}#sheetEditModal .modal-footer button{min-width:128px;height:46px;display:inline-flex;align-items:center;justify-content:center}@media(max-width:600px){#timerActionsModal .action-info .info-row{grid-template-columns:1fr auto;grid-template-areas:"date hours" "spec spec";gap:.35rem}#timerActionsModal .action-info .chip{justify-self:start;min-width:0}#timerActionsModal .action-info .chip--date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}#timerActionsModal .action-info .chip{white-space:nowrap;justify-self:start}#timerActionsModal .action-info .chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border-radius:999px;font-weight:600;font-size:.95rem;background:#eef7ff;border:1px solid rgba(0,0,0,.08);color:#0b1324;cursor:pointer}#timerActionsModal .action-info .chip--hours{background:#f1f8f3}#timerActionsModal .action-info .spec-box{border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:.6rem;padding:.6rem .75rem;box-shadow:0 1px 2px #0000000a;white-space:pre-wrap;word-break:break-word}#timerActionsModal .action-info .chip.is-editing{background:linear-gradient(135deg,#fff,#f7fafc);border-color:#2fbf7b;box-shadow:0 0 0 3px #2fbf7b2e}#timerActionsModal .action-info .chip.is-inline-invalid,#timerActionsModal .action-info .spec-pill.is-inline-invalid,#timerActionsModal .action-info .mat-pill.is-inline-invalid{border-color:#dc2626!important;box-shadow:0 0 0 2px #dc262633!important}#timerActionsModal .action-info .chip.is-inline-invalid input,#timerActionsModal .action-info .spec-pill.is-inline-invalid textarea,#timerActionsModal .action-info .mat-pill.is-inline-invalid textarea{color:#991b1b}#timerActionsModal .timer-entry-inline-error{margin-top:.24rem;font-size:.72rem;color:#b91c1c;line-height:1.2;visibility:hidden}#timerActionsModal .timer-entry-inline-error.is-visible{visibility:visible}#timerActionsModal .action-info .chip input{border:none;border-bottom:none!important;background:transparent;outline:none;box-shadow:none!important;font:inherit;color:inherit;padding:0;margin:0;min-width:0}#timerActionsModal .action-info .chip input:focus{box-shadow:none!important}#timerActionsModal .action-info .chip--date input{width:8ch}#timerActionsModal .action-info .chip--hours input{width:4ch;text-align:right}#timerActionsModal .action-info .chip{background:linear-gradient(135deg,#fff,#f3f6fb);border:1px solid rgba(15,23,42,.12);box-shadow:0 8px 16px #0f172a14;padding:.45rem .7rem;border-radius:999px;color:#0f172a}#timerActionsModal .action-info .chip--hours{background:linear-gradient(135deg,#f5fffa,#e8fff3)}#timerActionsModal .action-info .chip input{font-weight:600;letter-spacing:.01em}@media(min-width:900px)and (max-width:979px){.glass-inputs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.glass-inputs{grid-template-columns:repeat(3,1fr);align-items:start;row-gap:var(--space-4)}}@media(max-width:700px){header{padding:0 var(--space-3)}.header-inner{gap:.75rem;padding:.75rem 0}:root{--header-height: calc(var(--nav-item-height) + 1.5rem)}.nav-buttons{width:100%;gap:.2rem}.nav-buttons>button:not(.hamburger-btn):not(.admin-toggle-btn){display:none!important}.nav-buttons .hamburger-btn{display:inline-flex;margin-left:auto;z-index:22}.nav-buttons .admin-toggle-btn{margin-left:.3rem}.mobile-menu{position:absolute;top:calc(100% + .75rem);left:50%;transform:translate(-50%,-12px);width:min(420px,calc(100vw - 2.5rem));background:#fffffff2;border:1px solid var(--nav-border);border-radius:1rem;padding:1rem;box-shadow:0 18px 46px #0f172a2e;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);z-index:40;flex-direction:column;gap:.45rem;opacity:0}.nav-buttons.open .mobile-menu{display:flex!important;animation:mobileMenuIn .22s ease forwards}.mobile-menu button{width:100%;border:1px solid transparent;border-radius:.9rem;background:transparent;color:var(--nav-text);padding:.95rem 1.1rem;font-size:1.05rem;font-weight:600;text-align:left;display:inline-flex;align-items:center;justify-content:space-between;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.mobile-menu button:hover{background:var(--nav-hover);transform:translateY(-1px)}.mobile-menu button[aria-current=page]{background:#22c55e29;border-color:#0ea5e959;box-shadow:inset 0 0 0 1px #0ea5e940}.mobile-menu button[disabled]{background:var(--nav-disabled);color:var(--nav-text-muted);cursor:not-allowed;transform:none}@keyframes mobileMenuIn{0%{opacity:0;transform:translate(-50%,-18px)}to{opacity:1;transform:translate(-50%)}}}@media(max-width:700px){.glass-inputs .glass-btn-row{grid-column:1 / -1;margin-top:.75rem}.glass-inputs+.glass-btn-row{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.glass-inputs+.glass-btn-row>*{flex:0 0 auto;width:auto}.glass-inputs+.glass-btn-row>.form-field--note{flex:1 1 240px;min-width:200px}.glass-inputs+.glass-btn-row>#addToOrderBtn{margin-left:auto}.glass-btn-row #widthCheck{justify-content:center}}@media(max-width:600px){main{padding:var(--space-4)}.glass-card{padding:.5em;border-radius:.6em;margin-bottom:1em}.glass-inputs{grid-template-columns:repeat(2,1fr);align-items:start;row-gap:.6rem}#glassSvg-container{min-height:80px;margin-top:1em;border-width:2px}.glass-results{grid-template-columns:repeat(3,1fr);gap:.2em}.width-check{min-width:64px;font-size:.85em;padding:.14em .7em .05em}.save-btn{font-size:.9rem;height:2.6em;min-width:8em}.order-table{font-size:.95em;margin-bottom:3em}.order-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem}.order-actions .save-btn{flex:1 1 0;min-width:0;width:auto}.order-switch{justify-content:center;margin-right:0}.glass-btn-row .order-switch{width:auto;justify-content:flex-start}.glass-btn-row{flex-wrap:wrap;gap:.5rem .6rem}#widthCheck{margin:.3em 0}#calculateBtn,#addToOrderBtn{width:100%;max-width:none}#addToOrderBtn{margin-left:0}.form-field.field--counter,.form-field.field--counter .glass-count-controls{align-self:start}}.glass-inputs>*{min-width:0}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);background:#111;color:#fff;padding:.6rem .9rem;border-radius:.6rem;box-shadow:0 10px 25px #0000002e;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:min(92vw,420px);z-index:3000}.toast.show{opacity:1;transform:translate(-50%) translateY(-4px)}.toast.toast--action{pointer-events:auto;display:flex;align-items:center;gap:.6rem}.toast__text{flex:1 1 auto}.toast__action{appearance:none;border:1px solid rgba(255,255,255,.35);background:#fff;color:#111;font-weight:600;border-radius:.45rem;padding:.25rem .6rem;cursor:pointer}.toast__action:hover{background:#f8fafc}@media(min-width:600px)and (max-width:700px){.glass-btn-row{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.6rem}.glass-btn-row>*{flex:0 0 auto;width:auto}.glass-btn-row .form-field--note{flex:1 1 240px;max-width:100%}#widthCheck{flex:0 0 auto;white-space:nowrap}}.projects-section.active{display:flex;flex-direction:column;gap:1.8rem}.projects-hero{display:flex;flex-direction:column;gap:1.2rem;padding:1.8rem 2rem;border-radius:1.6rem;border:1px solid rgba(15,23,42,.08);background:radial-gradient(circle at top right,rgba(59,130,246,.18),transparent 45%),linear-gradient(135deg,#0f172aeb,#0f172ab8);color:#e2e8f0;box-shadow:0 35px 65px #0f172a59}.projects-hero__info{display:flex;flex-direction:column;gap:1.4rem;min-width:0}.projects-hero__list{min-width:0}.projects-hero__eyebrow{margin:0 0 .25rem;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:#e2e8f0bf}.projects-hero__title{margin:0;font-size:2rem;color:#fff}.projects-hero__subtitle{margin:.4rem 0 0;max-width:520px;color:#e2e8f0d9;font-size:1rem}.projects-hero__meta{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.projects-hero__pill{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:999px;background:#0f172a59;border:1px solid rgba(226,232,240,.35);font-weight:600;font-size:.95rem}.projects-hero__pill span{font-size:1.35rem;color:#38bdf8}.projects-hero__cta{border:none;border-radius:999px;padding:.75rem 1.4rem;font-weight:600;color:#0f172a;background:#fff;box-shadow:0 20px 35px #0f172a40;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.projects-hero__cta:hover{transform:translateY(-1px);box-shadow:0 24px 40px #0f172a59}.projects-panel,.projects-detail-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:1.4rem;padding:1.35rem;box-shadow:0 25px 45px #0f172a1f}.projects-panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.projects-panel__eyebrow{margin:0 0 .2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.3em;color:#94a3b8}.projects-panel__title{margin:0;font-size:1.35rem;color:#0f172a}.projects-panel__summary{margin:0;font-size:.9rem;color:#64748b;text-align:right}.projects-detail-card{min-height:320px;position:relative;width:100%}.projects-detail-placeholder{display:flex;align-items:center;justify-content:center;min-height:250px;text-align:center;color:#94a3b8;font-size:1rem}.projects-form-card{display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:1.25rem;padding:1.5rem;box-shadow:0 30px 50px #0f172a29}.projects-form-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.projects-form-card__title{margin:0;font-size:1.4rem;color:#0f172a}.projects-field{display:flex;flex-direction:column;gap:.35rem}.projects-field__label{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.projects-field__hint{margin:0;font-size:.78rem;color:#94a3b8}.projects-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.projects-form-grid .projects-field{border:1px solid rgba(148,163,184,.4);border-radius:1rem;padding:.35rem .75rem .2rem;background:#f8fafcb3;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.projects-input,.projects-form-grid .projects-field textarea,.projects-form-grid .projects-field select{border:1px solid rgba(148,163,184,.6);border-radius:.85rem;padding:.68rem .85rem;background:#f8fafc;width:100%;font-size:1rem;color:#0f172a;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.projects-form-grid .projects-field textarea{min-height:110px;resize:vertical}.projects-input::placeholder,.projects-form-grid .projects-field textarea::placeholder,.projects-form-grid .projects-field select::placeholder{color:#b7c4dd}.projects-input:focus,.projects-form-grid .projects-field textarea:focus,.projects-form-grid .projects-field select:focus{border-color:#2563ebb3;box-shadow:0 18px 32px #2563eb33;background:#fff}.projects-form-grid .projects-field .projects-field__label{font-size:.85rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin:0}.projects-form-grid .projects-field:focus-within{border-color:#2563eb99;background:#fff;box-shadow:0 15px 30px #2563eb26}.projects-form-grid .projects-field--wide{grid-column:1 / -1}.projects-form-actions{display:flex;justify-content:flex-end}.projects-section .projects-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:.95rem;padding:.55rem 1.2rem;font-weight:600;font-size:.9rem;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}.projects-section .projects-btn:focus-visible{outline:2px solid rgba(96,165,250,.65);outline-offset:2px}.projects-section .projects-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.projects-section .projects-btn:not(:disabled):active{transform:translateY(1px)}.projects-section .projects-btn--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 18px 32px #2563eb59}.projects-section .projects-btn--primary:not(:disabled):hover{box-shadow:0 22px 38px #2563eb66}.projects-section .projects-btn--outline{background:#f8fafce6;border-color:#94a3b880;color:#0f172a;box-shadow:0 12px 24px #0f172a1f}.projects-section .projects-btn--outline:not(:disabled):hover{border-color:#2563eb73;color:#1d4ed8}.projects-section .projects-btn--ghost{background:#94a3b81f;border-color:#94a3b84d;color:#475569}.projects-section .projects-btn--ghost:not(:disabled):hover{background:#94a3b833;color:#1d4ed8;border-color:#2563eb59}#projectsSection .projects-list{max-height:520px;overflow:auto;padding:.5rem;display:flex;flex-direction:column;gap:.6rem}#projectsSection .projects-list button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.45);background:#fff;cursor:pointer;transition:.18s ease;box-shadow:0 8px 18px #0f172a14}#projectsSection .projects-list button:hover{transform:translateY(-1px);border-color:#2563eb73;box-shadow:0 12px 24px #0f172a1f}#projectsSection .projects-list button:focus-visible{outline:2px solid #8ec5ff;outline-offset:3px}#projectsSection .projects-list .sheet-title{font-weight:600;color:#0b1324}#projectsSection .projects-list .arrow{color:#94a3b8;font-size:1.2em}#projectsSection .projects-message{margin:0}#projectsSection .projects-message--muted{color:#6b7280}#projectsSection .projects-message--dim{color:#666}#projectsSection .projects-message--error{color:#c00}#projectsSection .projects-message--alert{color:#ef4444}#projectsSection .projects-safe-html-fallback{white-space:pre-wrap}#projectsSection .projects-list button.create-new{border-style:dashed;border-color:#2563eb8c;background:#2563eb14;color:#1d4ed8;box-shadow:none}#projectsSection .projects-list button.create-new:hover{background:#2563eb26}#projectsSection .projects-list button.create-new .plus{margin-right:.4rem;font-weight:700;color:#1d4ed8}@media(max-width:1100px){.projects-hero{grid-template-columns:1fr;padding:1.5rem}#projectsSection .projects-list{max-height:none}}#projectDetails .project-details-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.6rem}#projectDetails .project-details-title{margin:.1rem 0 .2rem}#projectDetails .project-details-meta{color:#6b7280;font-size:.95em}#projectDetails .project-details-side{display:flex;gap:.6rem;align-items:flex-start}#projectDetails .project-details-dates{color:#6b7280;font-size:.9em;text-align:right}#projectDetails .proj-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:.2rem}#projectDetails .stat-card{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-radius:.7rem;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;box-shadow:0 1px 2px #0000000a}#projectDetails .stat-card:hover{background:#f7f9fb;border-color:#0000002e}#projectDetails .stat-card--muted{cursor:default;background:#f8fafc}#projectDetails .stat-label{color:#6b7280;font-size:.92em}#projectDetails .stat-value{font-weight:700;color:#0b1324}#projectDetails #projBatchesPanel{margin-top:.6rem}#app .local-toast,.local-toast{position:fixed;z-index:3000;background:#111827f2;color:#fff;border-radius:.6rem;padding:.35rem .6rem;font-size:.9rem;box-shadow:0 10px 24px #00000026}.plans-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;align-items:stretch}.plans-sidebar{display:flex;flex-direction:column;gap:.8rem;order:2}.plans-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.plans-subhead{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.4rem}.plans-subhead h3{margin:.2rem 0;font-size:.95rem;font-weight:600;color:#1f2937}.plans-subhead--plans{margin-top:.6rem}.plans-project-field select{width:100%;padding:.55rem .7rem;border-radius:.6rem;border:1px solid rgba(0,0,0,.18);background:#fff;font-size:.95rem}.plans-list{display:flex;flex-direction:column;gap:.45rem;max-height:440px;overflow-y:auto;padding-right:.3rem}.plans-list--floors{max-height:200px}.plans-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem .75rem;border-radius:.6rem;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;transition:.15s ease;font-size:.95rem;color:#0b1324}.plans-list button:hover{background:#f7f9fb;border-color:#0000002e}.plans-list button.is-active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb29}.plans-list .plan-meta{color:#6b7280;font-size:.82rem}.plans-main{position:relative;display:flex;flex-direction:column;gap:1rem;min-height:520px;padding:1rem;order:1}.plans-gate{display:flex;align-items:center;justify-content:center;text-align:center;color:#5b6472;min-height:360px}.plans-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}.plans-toolbar .toolbar-primary{display:flex;gap:.5rem;flex-wrap:wrap}.plans-toolbar .toolbar-secondary{display:flex;align-items:center;gap:.6rem}.plans-toolbar button.is-active{background:#2563eb;color:#fff;border-color:#1d4ed8}.plans-toolbar button.is-active.btn-secondary{background:#1d4ed8;color:#fff;border-color:#1e3a8a}.plans-stats-card{display:flex;align-items:flex-start;gap:1rem;padding:.8rem 1rem;border:1px solid rgba(15,23,42,.08);border-radius:.8rem;background:#f8fafc;box-shadow:0 6px 16px #0f172a0f;font-size:.9rem}.plans-stats-card.plans-stats--disabled{opacity:.75}.plans-stats-block{display:flex;flex-direction:column;gap:.2rem;min-width:0}.plans-stats-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.plans-stats-value{font-size:1.45rem;font-weight:700;color:#111827;line-height:1.2}.plans-stats-divider{width:1px;align-self:stretch;background:linear-gradient(180deg,#94a3b859,#94a3b80d);border-radius:999px}.plans-stats-hint{margin-top:.15rem;font-size:.78rem;color:#6b7280}.plans-status{color:#5b6472;font-size:.9rem}.plans-zoom-group{display:flex;align-items:center;gap:.35rem}.plans-zoom-btn{min-width:auto;padding:0 .55rem}.plans-zoom-label{min-width:52px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;color:#1f2937}.plans-canvas-wrap{position:relative;background:#f5f7fa;border-radius:.8rem;border:1px dashed rgba(0,0,0,.08);min-height:420px;display:flex;align-items:flex-start;justify-content:flex-start;overflow:auto}.plan-canvas,.plan-overlay{display:none}.plan-canvas{background:#fff;display:block;position:relative;z-index:1}.plan-overlay{position:absolute;left:0;top:0;pointer-events:auto;cursor:default;z-index:2}.plans-empty{color:#6b7280;font-size:1rem;text-align:center}.plans-note-muted,.plans-note-warning{margin:0}.plans-note-muted{color:#6b7280}.plans-note-warning{color:#f97316}.plans-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.plans-detail-card{border:1px solid rgba(0,0,0,.08);border-radius:.8rem;padding:.7rem;background:#fff;min-height:120px;display:flex;flex-direction:column;gap:.4rem}.plans-detail-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.plans-detail-card__head h3{margin:0;font-size:1rem}.plans-detail-card h3{margin:.1rem 0;font-size:1rem}.plans-detail-list{flex:1;overflow:auto;font-size:.88rem;color:#1f2937;display:grid;gap:.4rem;padding-right:.2rem}.plans-detail-list--muted{color:#9aa2b0}.plans-detail-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;border-radius:.6rem;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,border-color .18s ease;text-align:left;font:inherit;color:inherit;appearance:none}.plans-detail-item{width:100%}.plans-detail-item.is-active{border-color:#2563eb;background:#f0f6ff;box-shadow:0 0 0 2px #2563eb2e}.plans-detail-item:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.plans-detail-sub{display:block;font-size:.78rem;color:#6b7280;margin-top:.15rem}.plans-layer-entry{display:flex;align-items:center;gap:.5rem}.plans-layer-toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer;user-select:none}.plans-layer-toggle input{width:16px;height:16px;cursor:pointer}.plans-layer-swatch{width:16px;height:16px;border-radius:4px;display:inline-block;border:1px solid rgba(0,0,0,.12);flex-shrink:0}.plans-layer-entry .plans-detail-item{flex:1}.plans-detail-card--compact{background:#0c131ec7;border-color:#5e6d856b;box-shadow:0 10px 24px #080d1861,inset 0 1px #ffffff0a;min-height:0;gap:.35rem;color:#e2e8f0}.plans-detail-card--compact h3{color:#f8fafc}.plans-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}.plans-overview-toggles{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.plans-overview-actions{display:flex;align-items:center;gap:.35rem}#plansTopbarPanelOverview .plans-detail-sub{color:#cbd5e1d9}#plansTopbarPanelOverview .plans-layer-entry{color:inherit}#plansTopbarPanelOverview .plans-layer-entry input[type=checkbox]{accent-color:#38bdf8}.export-select-all{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:#374151;font-size:.9rem}.export-select-all input{width:16px;height:16px}.export-layer-list{display:flex;flex-direction:column;gap:.45rem;max-height:240px;overflow:auto;border:1px solid #e5e7eb;border-radius:6px;padding:.5rem;background:#f9fafb}.export-layer-item{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border-radius:6px;background:#fff;border:1px solid #e5e7eb}.export-layer-item input{width:16px;height:16px}.export-layer-swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}.export-layer-swatch--unassigned{background:#d1d5db}.export-layer-name{flex:1;font-weight:500;color:#1f2937}.export-layer-badge{font-size:.75rem;color:#6b7280}.plans-settings-body{display:flex;flex-direction:column;gap:1rem}.plans-settings-section{border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;background:#f9fafb}.plans-settings-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.5rem}.plans-settings-head-actions{display:flex;align-items:center;gap:.4rem}.plans-settings-head h4{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.plans-settings-head small{color:#6b7280}.plans-settings-layers{display:flex;flex-direction:column;gap:.4rem}.plans-settings-layer-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:6px;background:#fff;border:1px solid #e5e7eb}.plans-settings-layer-item input{width:16px;height:16px}.plans-settings-layer-body{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:#1f2937}.plans-settings-layer-label{font-weight:500}.plans-settings-layer-key{font-size:.75rem;color:#6b7280}.plans-layer-settings{display:flex;flex-direction:column;gap:1rem}.plans-layer-editor{border:1px solid #e5e7eb;border-radius:8px;padding:.85rem;background:#fff;display:flex;flex-direction:column;gap:.85rem}@media(min-width:960px){.plans-layer-editor{flex-direction:row}}.plans-layer-editor__column{flex:1;display:flex;flex-direction:column;gap:.55rem}.plans-layer-editor__head{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}.plans-layer-editor__head h4{margin:0;font-size:1rem}.plans-layer-editor__head small{color:#6b7280}.plans-layer-editor__actions{display:flex;gap:.35rem}.plans-layer-editor__list{border:1px solid #e5e7eb;border-radius:8px;padding:.35rem;display:flex;flex-direction:column;gap:.35rem;background:#f9fafb;max-height:360px;overflow:auto}.plans-layer-template-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-radius:.6rem;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.plans-layer-template-item .plans-layer-template-item__main{display:flex;align-items:center;gap:.45rem}.plans-layer-template-item__name{display:flex;flex-direction:column}.plans-layer-template-item__name strong{font-size:.92rem;color:#111827}.plans-layer-template-item__meta{font-size:.78rem;color:#6b7280}.plans-layer-template-item.is-active{border-color:#bfdbfe;background:#f0f6ff;box-shadow:0 0 0 1px #2563eb33}.plans-layer-template-item:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.plans-layer-color-picker{display:flex;flex-direction:column;gap:.25rem}.plans-layer-color-picker label{font-size:.82rem;color:#4b5563}.plans-layer-color-picker input[type=color]{width:52px;height:38px;padding:0;border:none;background:transparent;cursor:pointer}.plans-settings-wall-types{display:flex;flex-direction:column;gap:.4rem}.plans-settings-wall-form{margin-top:.75rem;padding:.65rem;border:1px solid #d1d5db;border-radius:6px;background:#fff}.plans-settings-wall-form.hide{display:none}.plans-settings-wall-form .form-field{margin-bottom:.65rem}.plans-settings-wall-form .form-field:last-child{margin-bottom:0}.plans-settings-wall-form textarea{width:100%;font-family:monospace;font-size:.85rem;line-height:1.4}.plans-settings-wall-types .plans-detail-item{width:100%;justify-content:space-between}.plans-settings-wall-types .plans-detail-item.has-error{border-color:#f87171;box-shadow:0 0 0 1px #f8717166}.plans-detail-item .plans-item-with-swatch{display:flex;align-items:center;gap:.45rem}.plans-detail-item .plans-item-with-swatch>span{display:flex;flex-direction:column}.wall-type-color-picker{display:flex;align-items:center;gap:.6rem;margin:.4rem 0 .8rem}.wall-type-color-picker label{font-size:.9rem;color:#4b5563}.wall-type-color-picker input[type=color]{width:46px;height:32px;border:none;padding:0;background:transparent;cursor:pointer}.wall-type-color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:0}.wall-type-color-picker input[type=color]::-webkit-color-swatch{border:none;border-radius:6px}.wall-type-color-picker input[type=color]::-moz-color-swatch{border:none;border-radius:6px}.wall-type-color-picker__controls{display:flex;align-items:center;gap:.5rem}.wall-type-color-picker__controls input[type=color]{flex:0 0 46px}.plans-detail-item strong{font-weight:600}.plans-settings-btn{display:flex;align-items:center;justify-content:center;padding:0 .6rem}.plans-settings-btn .icon{width:16px;height:16px}.plans-settings-dialog{width:100%;max-width:100%;height:min(92vh,760px)}.plans-settings-modal-body{display:flex;gap:1.25rem;align-items:flex-start}.plans-settings-menu{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.settings-menu-item{width:100%;text-align:left;padding:.6rem .8rem;border-radius:8px;background:#f3f4f6;border:1px solid transparent;color:#374151;font-weight:500;transition:background .15s ease,box-shadow .15s ease}.settings-menu-item:hover{background:#e5e7eb}.settings-menu-item.is-active{background:#fff;border-color:#2563eb59;box-shadow:0 0 0 1px #2563eb40;color:#1f2937}.plans-settings-content{flex:1;min-width:0}.settings-view{display:flex;flex-direction:column;gap:.8rem}.settings-view.hide{display:none}.settings-view-description{margin:0;color:#4b5563;font-size:.9rem}.settings-view-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.5rem}.settings-wall-types-body{display:grid;gap:.75rem;grid-template-columns:minmax(220px,1fr) minmax(260px,1.15fr);align-items:flex-start}.plans-settings-footer{justify-content:flex-end}.modal-close-btn{background:none;border:none;padding:.35rem;margin:-.35rem;border-radius:999px;color:#6b7280;cursor:pointer}.modal-close-btn:hover{color:#111827;background:#11182714}.modal-close-btn svg{width:18px;height:18px}.wall-type-structure{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.wall-type-column{background:#f7f9fb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.65rem}.wall-type-column-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.wall-type-column-head h5{margin:0;font-size:.95rem;font-weight:600;color:#1f2937}.wall-type-layers{display:flex;flex-direction:column;gap:.5rem}.wall-layer-row{display:grid;grid-template-columns:1fr 100px auto;gap:.4rem;align-items:center;background:#fff;border:1px solid #dbe2ea;border-radius:6px;padding:.4rem .5rem}.wall-layer-row input[type=text],.wall-layer-row input[type=number]{width:100%}.wall-layer-row button{align-self:stretch}.wall-type-empty{margin:0;font-size:.85rem;color:#6b7280}.wall-type-preset-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem;padding:.45rem;border:1px dashed #cbd5f5;border-radius:6px;background:#f8fbff}.wall-type-preset{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:6px;border:1px solid transparent;background:#fff;cursor:pointer;font:inherit;text-align:left}.wall-type-preset:hover{border-color:#2563eb44;background:#eaf2ff}.wall-type-preset .preset-title{font-weight:600;color:#1f2937}.wall-type-preset .preset-meta{font-size:.78rem;color:#6b7280}.wall-type-palette-card{border:1px solid #dbe2ea;border-radius:10px;padding:1rem;background:#fdfefe;display:grid;gap:.75rem;margin-bottom:1rem}.wall-type-palette-card__intro h4{margin:0 0 .35rem;font-size:1rem;color:#1f2937}.wall-type-palette-card__intro p{margin:0 0 .4rem;color:#4b5563;font-size:.9rem}.wall-type-palette-guidelines{margin:0;padding-left:1rem;color:#6b7280;font-size:.85rem;display:flex;flex-direction:column;gap:.2rem}.wall-type-palette-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.wall-type-palette-card__insights{display:flex;flex-direction:column;gap:.4rem}.wall-type-palette-summary{display:flex;flex-wrap:wrap;gap:.35rem}.wall-type-palette-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;padding:.2rem .5rem;border-radius:999px;background:#eef2ff;color:#374151;border:1px solid #c7d2fe}.wall-type-palette-chip b{font-weight:600}.wall-type-palette-conflicts{font-size:.85rem;color:#9b1c1c}.wall-type-palette-conflicts ul{margin:.2rem 0 0;padding-left:1rem}.wall-type-palette-conflicts li{margin:.15rem 0}.wall-type-palette-empty{margin:0;color:#6b7280;font-size:.85rem}.wall-type-color-suggestion{display:flex;align-items:center;gap:.65rem;border:1px dashed #d1d5db;border-radius:8px;padding:.6rem .8rem;background:#fff}.wall-type-color-suggestion.hide{display:none}.wall-type-color-suggestion__swatch{width:36px;height:36px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d1d5db}.wall-type-color-suggestion__texts{flex:1}.wall-type-color-suggestion__texts p{margin:0;font-weight:600;color:#111827}.wall-type-color-suggestion__texts span{font-size:.8rem;color:#6b7280}.wall-type-color-suggestion.is-match{border-style:solid;border-color:#bbf7d0;background:#f0fdf4}.wall-type-color-suggestion.is-match .wall-type-color-suggestion__texts{color:#065f46}@media(min-width:960px){.wall-type-palette-card{grid-template-columns:minmax(260px,1fr) auto;align-items:center}.wall-type-palette-card__insights{grid-column:1 / -1;flex-direction:row;justify-content:space-between}}@media(max-width:600px){.wall-layer-row{grid-template-columns:1fr 1fr;grid-template-areas:"label label" "thickness remove"}.wall-layer-row input[data-layer-field=label]{grid-area:label}.wall-layer-row input[data-layer-field=thickness]{grid-area:thickness}.wall-layer-row button[data-layer-action=remove]{grid-area:remove;justify-self:end}}@media(max-width:900px){.plans-settings-modal-body{flex-direction:column}.plans-settings-menu{flex-direction:row;flex-wrap:wrap}.settings-menu-item{flex:1 0 120px;text-align:center}.settings-wall-types-body{grid-template-columns:1fr}}.plans-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;padding:.1rem .35rem;border-radius:999px;background:#e2e8f0;color:#1f2937}.plans-overlay-point{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#2563eb;border:2px solid #fff;box-shadow:0 2px 6px #2563eb59;pointer-events:none}.plans-overlay-surface{position:absolute;border:2px solid rgba(16,185,129,.85);background:#10b9811f;pointer-events:none}.plans-msg{color:#2563eb;font-size:.88rem}.plans-toast{position:absolute;top:16px;right:16px;background:#111827;color:#fff;padding:.45rem .7rem;border-radius:.6rem;box-shadow:0 10px 24px #00000026;font-size:.85rem}.plans-inspector{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}.plans-form-card{border:1px solid rgba(0,0,0,.08);border-radius:.9rem;background:#fff;box-shadow:0 6px 18px #0f172a14;display:flex;flex-direction:column;gap:.4rem;padding:.8rem;min-height:164px}.plans-form-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.plans-form-head h3{margin:.15rem 0;font-size:1rem}.plans-form-head-actions{display:flex;gap:.4rem}.plans-form-body{display:grid;gap:.6rem}.plans-form-body .form-field{margin:0}.plans-form-actions{display:flex;justify-content:flex-end;gap:.5rem}.plans-form-note{font-size:.82rem;color:#4b5563}.plans-form-note--muted{color:#6b7280}.plans-form-note--error{color:#dc2626}.plans-form-note strong{color:#111827}.plans-form-note .plans-layer-swatch{display:inline-flex;margin-right:.35rem;vertical-align:middle}.plans-report-list{display:grid;gap:.4rem;font-size:.88rem;color:#1f2733}.plans-report-list .report-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.plans-report-list .report-label{font-weight:600;color:#111827}.plans-report-list .report-meta{color:#6b7280;font-size:.8rem}.plans-summary-dialog{width:min(1680px,98vw);max-width:min(1680px,98vw);max-height:96vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--summary-shell-bg) 0%,var(--summary-shell-accent) 38%,var(--summary-surface) 100%);color:var(--summary-heading);border-radius:1.3rem;border:1px solid var(--summary-border);box-shadow:var(--summary-shadow);overflow:hidden}.plans-summary-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.2rem;padding:1.4rem 1.6rem .8rem;flex-wrap:wrap;background:var(--summary-surface);border-bottom:1px solid var(--summary-border)}.plans-summary-subtitle{margin:.3rem 0 0;font-size:.9rem;color:var(--summary-muted)}.plans-summary-header-actions{display:flex;align-items:center;gap:.8rem}.plans-summary-tabs{display:inline-flex;background:var(--summary-surface-alt);border-radius:999px;padding:.25rem;gap:.25rem;border:1px solid var(--summary-border);box-shadow:inset 0 1px #fffc}.plans-summary-tab{border:none;background:transparent;padding:.45rem 1.1rem;border-radius:999px;font-weight:600;color:var(--summary-muted);letter-spacing:.01em;font-size:.92rem;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.plans-summary-tab.is-active{background:var(--summary-surface);color:var(--summary-heading);box-shadow:0 8px 20px #0f172a26}.plans-summary-body{flex:1;display:flex;flex-direction:column;gap:1.2rem;padding:1.2rem 1.6rem 1.6rem;overflow-y:auto;overflow-x:hidden}.plans-summary-panel{display:none;flex-direction:column;flex:1;min-height:0}.plans-summary-panel.is-active{display:flex}.plans-summary-controls{display:flex;flex-direction:column;gap:1.2rem;padding:1.3rem 1.5rem;border:1px solid var(--summary-border);border-radius:1.1rem;background:var(--summary-surface);box-shadow:0 22px 45px #0f172a14;flex:0 0 auto}.plans-summary-controls__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.plans-summary-filter{display:flex;flex-direction:column;gap:.35rem}.plans-summary-filter__label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--summary-muted);font-weight:600}.plans-summary-filter__field{display:flex;align-items:center;gap:.45rem;border:1px solid var(--summary-border-strong);border-radius:.75rem;padding:.4rem .65rem;background:var(--summary-surface-alt);box-shadow:inset 0 1px #ffffffd9;min-height:46px}.plans-summary-filter__field svg{width:1rem;height:1rem;color:var(--summary-muted);flex-shrink:0}.plans-summary-filter__field input,.plans-summary-filter__field select{border:0;outline:none;background:transparent;font-size:.95rem;font-weight:500;color:var(--summary-heading);width:100%}.plans-summary-filter__field input::placeholder,.plans-summary-filter__field select::placeholder{color:#55607ab3}.plans-summary-filter--checkbox{flex-direction:row;align-items:center;gap:.5rem;border:1px solid var(--summary-border-strong);border-radius:.75rem;padding:.5rem .75rem;background:var(--summary-surface-alt);font-size:.9rem;color:var(--summary-heading);min-height:46px}.plans-summary-filter--checkbox input{width:1rem;height:1rem}.plans-summary-controls__actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.85rem;color:var(--summary-muted)}.plans-summary-controls__actions p{margin:0}.plans-summary-facets{margin-top:1.2rem;border:1px solid var(--summary-border);border-radius:1.1rem;overflow:hidden;background:var(--summary-surface);box-shadow:0 20px 45px #0f172a12;flex:0 0 auto}.plans-summary-facet-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;padding:1rem 1.25rem;border-bottom:1px solid var(--summary-border);flex-wrap:wrap}.plans-summary-facet-row:last-of-type{border-bottom:none}.plans-summary-facet-row__info{max-width:240px;flex:1}.plans-summary-facet-row__info p{margin:0;font-weight:600;color:var(--summary-heading)}.plans-summary-facet-row__info small{display:block;margin-top:.2rem;font-size:.82rem;color:var(--summary-muted)}.plans-summary-tags{display:flex;flex-wrap:wrap;gap:.45rem;min-height:2.2rem;flex:2}.plans-summary-tags__empty{margin:0;font-size:.85rem;color:#55607aa6}.plans-summary-tags .filter-tag{background:var(--summary-tag-bg);border-color:#6366f140;color:var(--summary-heading);box-shadow:inset 0 1px #ffffffe6;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.plans-summary-tags .filter-tag__meta{color:var(--summary-muted)}.plans-summary-tags .filter-tag__count{color:var(--summary-heading)}.plans-summary-tags .filter-tag.is-active{background:linear-gradient(135deg,var(--summary-tag-active),#eef2ff);border-color:#2563eb73;color:var(--summary-heading);box-shadow:0 8px 18px #2563eb2e}.plans-summary-tags .filter-tag:not(.is-active):hover{border-color:#2563eb59;box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.plans-summary-filter-summary{border:1px dashed var(--summary-border-strong);border-radius:1rem;margin:.8rem 1rem 1.2rem;padding:1rem 1.3rem;background:linear-gradient(135deg,#edf2ffd9,#f8fafcf2);display:flex;flex-direction:column;gap:.4rem}.plans-summary-filter-summary__counts{font-weight:600;color:var(--summary-heading)}.plans-summary-filter-summary__badges{display:flex;flex-wrap:wrap;gap:.5rem}.plans-summary-filter-summary__badge{padding:.3rem .7rem;border-radius:.75rem;background:var(--summary-surface);border:1px solid var(--summary-border);font-size:.82rem;color:var(--summary-heading);font-weight:600;box-shadow:0 8px 16px #0f172a14}.plans-summary-filter-summary__placeholder{font-size:.85rem;color:var(--summary-muted)}.plans-summary-scroll{display:flex;flex-direction:column;gap:.85rem;flex:0 0 auto}.plans-summary-table{width:100%;border:1px solid var(--summary-border);border-radius:1rem;background:var(--summary-surface);box-shadow:0 18px 45px #0f172a14;overflow:hidden}.plans-summary-table.empty{padding:1.2rem;font-size:.92rem;color:#6b7280;border:1px dashed rgba(15,23,42,.12);background:#f8fafce6}.plans-summary-grid{width:100%;border-collapse:separate;border-spacing:0;min-width:100%;font-size:.93rem;color:var(--summary-heading)}.plans-summary-grid thead th{position:sticky;top:0;background:var(--summary-surface);box-shadow:0 1px #0f172a14;z-index:1;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700;color:var(--summary-muted);padding:.75rem .85rem}.plans-summary-grid th,.plans-summary-grid td{padding:.75rem .85rem;text-align:left;font-size:.92rem;border-bottom:1px solid var(--summary-border);transition:background-color .18s ease}.plans-summary-grid td{vertical-align:middle;color:var(--summary-heading)}.plans-summary-grid tbody tr:nth-child(2n){background-color:var(--summary-table-stripe)}.plans-summary-grid tbody tr:hover{background-color:var(--summary-table-hover)}.plans-summary-grid tbody tr:last-child td{border-bottom:none}.plans-summary-name{display:flex;align-items:center;gap:.55rem}.plans-summary-swatch{width:16px;height:16px;border-radius:999px;border:1px solid var(--summary-border);flex-shrink:0;box-shadow:0 0 0 1px #fff9 inset}.plans-summary-label{display:flex;flex-direction:column;gap:.1rem}.plans-summary-label small{font-size:.78rem;color:var(--summary-muted)}.plans-summary-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.6rem 1.6rem;background:var(--summary-surface);border-top:1px solid var(--summary-border)}.plans-summary-totals{display:flex;flex-wrap:wrap;gap:1rem;font-size:.92rem;color:var(--summary-heading)}.plans-summary-totals .plans-summary-chip{padding:.4rem .85rem;border-radius:999px;background:var(--summary-chip-bg);border:1px solid rgba(99,102,241,.25);font-weight:600;box-shadow:0 8px 18px #0f172a14}.plans-summary-warnings{display:flex;flex-direction:column;gap:.6rem}.plans-summary-warnings .warning-box{padding:.75rem .9rem;border-radius:.75rem;border:1px solid var(--warn-border);background:var(--warn-bg);color:#b45309;font-size:.9rem}.plans-summary-warnings .info-box{padding:.75rem .9rem;border-radius:.75rem;border:1px solid rgba(59,130,246,.25);background:#dbeafea6;color:#1d4ed8;font-size:.9rem}.plans-summary-empty-note{padding:1rem;font-size:.92rem;color:#6b7280}.plans-summary-placeholder{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.4rem;border:1px dashed rgba(15,23,42,.12);border-radius:1rem;padding:1.4rem;font-size:.95rem;color:#475569;background:#0f172a08}.plans-reports-panel{display:flex;flex-direction:column;gap:1.25rem;width:100%}.plans-reports-header{padding:1.2rem 1.4rem;border:1px solid var(--summary-border);border-radius:1.1rem;background:var(--summary-surface);box-shadow:0 18px 40px #0f172a14;display:flex;flex-direction:column;gap:1.1rem}.plans-reports-headline{display:flex;flex-direction:column;gap:.4rem}.plans-reports-eyebrow{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--summary-muted);font-weight:600}.plans-reports-header h4{margin:0;font-size:1.2rem;color:var(--summary-heading)}.plans-reports-header p{margin:0;color:var(--summary-muted);font-size:.94rem;max-width:42rem}.plans-reports-toolbar{display:flex;flex-direction:column;gap:1.1rem}.plans-reports-toolbar__row{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-start}.plans-reports-toolbar__row--status{border:1px solid var(--summary-border);border-radius:1rem;padding:1rem 1.2rem;background:var(--summary-surface-alt);box-shadow:inset 0 1px #fff9;gap:1.2rem}.plans-reports-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-end}.plans-reports-status-card{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:220px}.plans-reports-status-card--kpis{gap:.5rem}.plans-reports-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--summary-muted);font-weight:600}.plans-reports-chip{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .85rem;border-radius:.85rem;background:#0f172a0d;border:1px solid rgba(15,23,42,.1);font-size:.82rem;font-weight:600;color:#0f172a}.plans-reports-kpis{display:flex;flex-wrap:wrap;gap:.5rem}.plans-reports-kpi-pill{padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:var(--summary-surface);font-size:.8rem;font-weight:600;color:#0f172a}.plans-reports-status{padding:.35rem .9rem;border-radius:999px;background:#2dd4bf2e;color:#0f766e;font-weight:600;font-size:.82rem}.plans-reports-note{margin:0;font-size:.86rem;color:#64748b}.plans-reports-export{display:inline-flex;align-items:center;gap:.45rem;border:none;border-radius:999px;padding:.6rem 1.35rem;font-weight:600;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#f8fafc;box-shadow:0 18px 38px #3b82f647;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;justify-content:center}.plans-reports-export svg{width:1rem;height:1rem}.plans-reports-export:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.plans-reports-export:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 22px 42px #0ea5e959}.plans-reports-select{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.plans-reports-select span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--summary-muted);font-weight:600}.plans-reports-select__controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.plans-reports-select__controls select{min-width:220px;border-radius:.75rem;border:1px solid var(--summary-border-strong);padding:.45rem .8rem;background:var(--summary-surface-alt);box-shadow:inset 0 1px #ffffffd9;font-size:.95rem;color:var(--summary-heading)}.plans-reports-autosave{margin:0;font-size:.86rem;color:var(--summary-muted)}.plans-reports-empty{border:1px dashed rgba(15,23,42,.18);border-radius:1rem;padding:1.1rem 1.2rem;background:#0f172a05;color:#475569;font-size:.92rem}.plans-reports-empty__content{display:flex;flex-direction:column;gap:.8rem}.plans-reports-empty-steps{margin:.4rem 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.25rem;color:#1e293b;font-size:.9rem}.plans-reports-empty-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.plans-reports-content{width:100%}.plans-report-columns{display:flex;flex-direction:column;gap:1.1rem}.plans-report-column{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.plans-report-card{border:1px solid var(--summary-border);border-radius:1.15rem;background:var(--summary-surface);box-shadow:0 24px 50px #0f172a17;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:1rem}.plans-report-card--sections{gap:1.2rem}.plans-report-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.plans-report-card__head--actions{align-items:center}.plans-report-card__head h5{margin:0;font-size:1rem;color:var(--summary-heading)}.plans-report-card__head p{margin:.25rem 0 0;font-size:.88rem;color:var(--summary-muted)}.plans-report-sections-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem}.plans-report-sections-tools p{margin:0;font-size:.82rem;color:#94a3b8}.plans-report-global-search{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:240px}.plans-report-global-search span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:600}.plans-report-global-search__field{display:flex;align-items:center;gap:.4rem;border:1px solid rgba(148,163,184,.5);border-radius:.9rem;padding:.35rem .65rem;background:var(--summary-surface-alt);box-shadow:inset 0 1px #ffffffbf}.plans-report-global-search__field svg{width:18px;height:18px;color:#94a3b8}.plans-report-global-search__field input{border:none;background:transparent;flex:1;font-size:.92rem;color:#0f172a}.plans-report-global-search__field input:focus{outline:none}.plans-report-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.plans-report-field{display:flex;flex-direction:column;gap:.35rem}.plans-report-field span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--summary-muted);font-weight:600}.plans-report-field input,.plans-report-field select{border-radius:.75rem;border:1px solid var(--summary-border-strong);padding:.5rem .8rem;background:var(--summary-surface-alt);color:var(--summary-heading);font-size:.95rem;box-shadow:inset 0 1px #ffffffd9}.plans-report-field input:focus,.plans-report-field select:focus{outline:2px solid rgba(59,130,246,.35);outline-offset:2px}.plans-report-field--static strong{font-size:1.05rem;color:var(--summary-heading)}.plans-report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.plans-report-table-head{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--summary-muted);margin-bottom:.35rem}.plans-report-table{border:1px solid var(--summary-border);border-radius:1rem;background:var(--summary-surface-alt);min-height:140px;padding:.75rem;box-shadow:inset 0 1px #fffc}.plans-report-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;color:var(--summary-heading)}.plans-report-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--summary-muted);padding:.4rem .35rem}.plans-report-table td{padding:.35rem;border-top:1px solid rgba(15,23,42,.08)}.plans-report-table tbody tr:first-child td{border-top:none}.plans-report-table__empty{margin:0;font-size:.9rem;color:#6b7280}.plans-report-pages{display:flex;flex-direction:column;gap:1rem}.plans-report-page-card{position:relative;width:100%;border:1px solid rgba(59,130,246,.2);border-radius:1.1rem;padding:1rem 1.2rem;background:#fff;color:#0f172a;box-shadow:0 14px 35px #0f172a1f;display:flex;flex-direction:column;gap:.6rem;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.plans-report-page-card:focus-visible{outline:2px solid #facc15;outline-offset:4px}.plans-report-page-card:not(.is-disabled):hover{transform:translateY(-2px);box-shadow:0 20px 40px #2563eb2e}.plans-report-page-card.is-active{border-color:#2563eb;box-shadow:0 22px 46px #2563eb38}.plans-report-page-card.is-linked{border-color:#7c3aed;box-shadow:0 22px 46px #7c3aed33}.plans-report-page-card.is-disabled{opacity:.65;cursor:not-allowed}.plans-report-page-card[aria-disabled=true]{cursor:not-allowed}.plans-report-page-card.is-summary{background:#f8fafcd9;border-style:dashed}.plans-report-page-dot{position:absolute;top:.6rem;right:.65rem;width:.55rem;height:.55rem;border-radius:999px;background:#cbd5f5}.plans-report-page-dot.is-ready{background:#10b981}.plans-report-page-dot.is-warning{background:#f97316}.plans-report-page-header{display:flex;align-items:center;gap:.6rem;width:100%}.plans-report-page-type{font-size:.72rem;letter-spacing:.08em;font-weight:700;color:#475569}.plans-report-page-name{flex:1;font-size:1rem;color:#0f172a}.plans-report-page-meta{font-size:.85rem;font-weight:600;color:#0f172a}.plans-report-page-body{display:flex;flex-direction:column;gap:.35rem}.plans-report-page-metrics{margin:0;font-size:.85rem;color:#334155}.plans-report-page-filters{margin:0;font-size:.8rem;color:#94a3b8}.plans-report-export-card{display:flex;flex-direction:column;gap:.85rem}.plans-report-export-metrics{display:flex;flex-wrap:wrap;gap:.45rem}.plans-report-export-chip{padding:.35rem .75rem;border-radius:.85rem;background:#0f172a0d;font-size:.85rem;color:#0f172a;border:1px solid rgba(15,23,42,.08)}.plans-report-export-actions{display:flex;flex-wrap:wrap;gap:.6rem}.plans-report-export-actions .ghost-btn{border-radius:.85rem;padding:.45rem .9rem}@media(max-width:1180px){.plans-report-columns{gap:1rem}}.plans-report-sections-list{display:flex;flex-direction:column;gap:1rem}.plans-report-sections-list:empty:after{content:"Dodaj pierwszą sekcję, aby przygotować strony raportu.";display:block;padding:1rem;border:1px dashed rgba(15,23,42,.15);border-radius:1rem;color:#6b7280;font-size:.92rem}.report-section-card{border:1px solid rgba(15,23,42,.12);border-radius:1rem;padding:1rem 1.2rem;background:#f8fafce6;box-shadow:0 18px 30px #0f172a12;display:flex;flex-direction:column;gap:.85rem;position:relative}.report-section-card.is-collapsed{gap:.6rem}.report-section-card.is-dragging{opacity:.75;border-style:dashed}.report-section-card.is-collapsed .report-section-body{display:none}.report-section-card__controls{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.report-section-order-btn{border:none;background:#0f172a0f;border-radius:.65rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#475569;transition:background .15s ease,color .15s ease}.report-section-order-btn svg{width:14px;height:14px}.report-section-order-btn:hover:not(:disabled){background:#2563eb26;color:#1d4ed8}.report-section-order-btn:disabled{opacity:.35;cursor:not-allowed}.report-section-toggle{border:none;background:#e2e8f0b3;border-radius:.7rem;padding:.35rem .55rem;font-size:.78rem;font-weight:600;color:#1e293b;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:background .15s ease,color .15s ease}.report-section-toggle svg{width:16px;height:16px}.report-section-toggle.is-active{background:#1d4ed8;color:#fff}.report-section-apply-all{border:1px dashed rgba(37,99,235,.4);border-radius:.75rem;padding:.32rem .75rem;font-size:.78rem;font-weight:600;background:#3b82f614;color:#1d4ed8;cursor:pointer;transition:background .15s ease,border-color .15s ease}.report-section-apply-all:disabled{opacity:.35;cursor:not-allowed}.report-section-apply-all:not(:disabled):hover{background:#3b82f626;border-color:#2563eb}.report-section-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.report-section-title{display:flex;flex-direction:column;gap:.2rem}.report-section-title strong{font-size:1rem;color:#0f172a}.report-section-title span{font-size:.82rem;color:#6b7280}.report-section-summary{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.report-section-stats{display:flex;flex-wrap:wrap;gap:.35rem}.report-section-chip{padding:.25rem .55rem;border-radius:.75rem;background:#e2e8f0;font-size:.78rem;font-weight:600;color:#1e293b}.report-section-chip--muted{background:#dbeafe;color:#1d4ed8}.report-section-chip--filters{background:#e0f2fe;color:#0369a1}.report-section-chip--ready{background:#10b98126;color:#047857}.report-section-body{display:flex;flex-direction:column;gap:1rem}.report-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.report-section-field{display:flex;flex-direction:column;gap:.3rem}.report-section-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:600}.report-section-field input,.report-section-field select{border-radius:.7rem;border:1px solid rgba(15,23,42,.2);padding:.45rem .75rem;background:#fff;color:#0f172a;font-size:.92rem;box-shadow:inset 0 1px #ffffffd9}.report-section-field select:disabled{opacity:.6;cursor:not-allowed}.report-section-filters{display:flex;flex-direction:column;gap:.9rem}.report-section-panels{display:flex;flex-direction:column;gap:.6rem}.report-section-panels-body{border:1px solid rgba(148,163,184,.35);border-radius:1rem;padding:.85rem;background:#fff;min-height:200px;box-shadow:inset 0 1px #fff9;display:flex;flex-direction:column;gap:.65rem}.report-section-panel{display:flex;flex-direction:column;gap:.65rem}.report-section-panel+.report-section-panel{padding-top:.75rem;border-top:1px solid rgba(148,163,184,.2)}.report-filter-group{border:1px solid rgba(148,163,184,.35);border-radius:.9rem;padding:.65rem .75rem;background:#fff;display:flex;flex-direction:column;gap:.45rem}.report-filter-group header{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.report-filter-group header span{font-size:.82rem;font-weight:600;color:#334155}.report-filter-chips{display:flex;flex-wrap:wrap;gap:.35rem;max-height:180px;overflow:auto}.report-filter-chip{border:none;border-radius:.7rem;padding:.35rem .65rem;font-size:.82rem;background:#e2e8f0;color:#1e293b;cursor:pointer;transition:background .15s ease,color .15s ease}.report-filter-chip.is-active{background:#1d4ed8;color:#fff}.report-filter-chip.is-disabled{opacity:.4;cursor:not-allowed}.report-filter-note{font-size:.75rem;color:#94a3b8}.report-walltype-list{margin:.3rem 0 0;padding-left:1rem;display:flex;flex-direction:column;gap:.32rem}.report-walltype-list li{margin:0}.report-walltype-detail{font-size:.75rem;color:#64748b}.report-toggle-row{display:flex;flex-wrap:wrap;gap:.5rem}.report-toggle{border:1px solid rgba(148,163,184,.6);border-radius:.9rem;padding:.35rem .75rem;background:#f8fafccc;font-size:.82rem;font-weight:600;color:#1f2937;cursor:pointer;transition:background .15s ease,border-color .15s ease}.report-toggle.is-active{background:#1d4ed8;border-color:#1d4ed8;color:#fff;box-shadow:0 10px 20px #1d4ed840}.report-section-info{font-size:.8rem;color:#94a3b8}.report-presets-row{display:flex;flex-wrap:wrap;gap:.4rem}.report-preset-btn{border:1px dashed rgba(15,23,42,.25);border-radius:.75rem;padding:.32rem .65rem;font-size:.78rem;font-weight:600;color:#0f172a;background:#f8fafce6;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.report-preset-btn.is-active{background:#2563eb;border-color:#2563eb;color:#fff}.report-section-card.is-highlighted{border-color:#2563eb;box-shadow:0 24px 50px #2563eb40}.plans-report-table .report-table-rows{display:flex;flex-direction:column;gap:.45rem}.report-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem;padding:.35rem .4rem;border-radius:.6rem;background:#fffc;border:1px solid rgba(15,23,42,.06)}.report-table-row span{font-size:.8rem;color:#1e293b}.report-table-row strong{display:block;font-size:.92rem;color:#0f172a}.plans-report-pages:empty:after{content:"Dodaj sekcję, aby zobaczyć zaplanowane strony raportu.";font-size:.85rem;color:#94a3b8}.plans-export-dialog{max-width:780px;width:calc(100% - 2rem);background:linear-gradient(135deg,#fffffff0,#f4f9ffe6)}.plans-export-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.plans-export-headline h3{margin:0;font-size:1.25rem;color:#0f172a}.plans-export-subtitle{margin:.35rem 0 0;color:#64748b;font-size:.95rem;max-width:30rem}.plans-export-body{display:flex;flex-direction:column;gap:1.4rem}.plans-export-body.is-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;align-items:flex-start}.plans-export-section{border:1px solid rgba(15,23,42,.08);border-radius:1rem;padding:1.15rem 1.3rem;background:#ffffffe6;box-shadow:0 10px 30px #0f172a14;display:flex;flex-direction:column;gap:1rem}.plans-export-modes{display:flex;flex-direction:column;gap:.85rem}.plans-export-options{display:flex;flex-direction:column;gap:.75rem}.plans-export-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.plans-export-section-head h4{margin:0;font-size:1.05rem;color:#0f172a}.plans-export-section-copy{margin:.35rem 0 0;color:#6b7280;font-size:.9rem}.plans-export-toggle{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;border-radius:.9rem;background:#f8fafce6;border:1px solid rgba(148,163,184,.25);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;cursor:pointer}.plans-export-toggle:hover{background:#f1f5f9;border-color:#3b82f64d}.plans-export-toggle:focus-within{box-shadow:0 0 0 2px #3b82f659}.plans-export-toggle input{width:18px;height:18px;margin-top:.15rem;cursor:pointer}.plans-export-toggle span{display:flex;flex-direction:column;gap:.25rem;color:#0f172a}.plans-export-toggle strong{font-size:.96rem;font-weight:600}.plans-export-toggle small{font-size:.82rem;color:#64748b}.plans-export-quality{display:flex;flex-direction:column;gap:.75rem;margin-top:.35rem}.plans-export-quality-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#94a3b8}.plans-export-quality-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.plans-export-quality-card{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-radius:1rem;background:linear-gradient(135deg,#f8fafce6,#e5e7ebd9);border:1px solid rgba(148,163,184,.35);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.plans-export-quality-card input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.plans-export-quality-card span{display:flex;flex-direction:column;gap:.3rem;color:#0f172a}.plans-export-quality-card strong{font-size:.98rem;font-weight:600}.plans-export-quality-card small{font-size:.82rem;color:#64748b}.plans-export-quality-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0f172a1f}.plans-export-quality-card.is-active{border-color:#2563eb;background:linear-gradient(135deg,#3b82f626,#3b82f60d);box-shadow:0 16px 32px #2563eb2e}.plans-export-quality-card.is-active small{color:#1d4ed8}.plans-export-quality-card:focus-within{box-shadow:0 0 0 2px #3b82f673}.plans-export-hint{margin:.25rem 0 0;font-size:.82rem;color:#b45309;background:#ffedd5b3;border:1px solid rgba(251,191,36,.5);padding:.5rem .75rem;border-radius:.75rem}.plans-export-layers{display:grid;gap:.6rem;max-height:340px;overflow:auto;padding:.2rem}.plans-export-footer{display:flex;justify-content:flex-end;gap:.75rem}.plans-decision-dialog{max-width:min(840px,calc(100% - 2rem));border-radius:1.25rem;border:1px solid rgba(96,165,250,.4);background:radial-gradient(125% 120% at 0% -20%,#2563eb38,#2563eb00 48%),radial-gradient(120% 120% at 100% 0%,#10b98133,#10b98100 45%),linear-gradient(150deg,#fffffff7,#f6fafff0 56%,#eff7fff5);box-shadow:0 34px 80px #0f172a6b,inset 0 1px #ffffffbf}.plans-decision-dialog .plans-decision-header{padding:1rem 1.1rem .55rem}.plans-decision-dialog .plans-export-headline h3{font-size:clamp(1.3rem,2vw,1.48rem);letter-spacing:.01em}.plans-decision-dialog .plans-export-subtitle{margin-top:.45rem;color:#475569;font-size:.94rem}.plans-decision-dialog .modal-close-btn{color:#1e293b;background:#e2e8f08c;border:1px solid rgba(148,163,184,.45)}.plans-decision-dialog .modal-close-btn:hover{background:#94a3b838;color:#0f172a}.plans-decision-dialog .plans-decision-body{gap:1.05rem;padding-bottom:1.05rem}.plans-decision-input-wrap{position:relative;display:grid;gap:.58rem;border:1px solid rgba(148,163,184,.28);border-radius:1rem;background:linear-gradient(145deg,#ffffffe6,#f1f7ffc7);box-shadow:inset 0 1px #fffffff2;padding:.85rem .9rem .8rem}.plans-decision-input-wrap:after{content:"mm";position:absolute;right:1.45rem;top:calc(50% + .35rem);transform:translateY(-50%);pointer-events:none;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b;background:#f1f5f9f2;border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:.26rem .48rem}.plans-decision-input-wrap.form-field--stacked>label{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#475569}.plans-decision-input-wrap.form-field--stacked input{height:58px;padding:.25rem 4.4rem .25rem .95rem;border:1px solid rgba(148,163,184,.45);border-bottom:1px solid rgba(148,163,184,.45);border-radius:.95rem;background:linear-gradient(180deg,#fffffff5,#f8fafceb);color:#0f172a;font-size:1.65rem;font-weight:700;line-height:1;box-shadow:0 14px 32px #0f172a14;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.plans-decision-input-wrap.form-field--stacked input:focus{border-color:#2563eba6;box-shadow:0 0 0 3px #3b82f63d,0 18px 36px #2563eb29;transform:translateY(-1px)}.plans-decision-dialog #plansDecisionInputError{min-height:1rem;font-size:.78rem;font-weight:600;color:#b91c1c}.plans-decision-extras{display:flex;flex-direction:column;gap:.85rem}.plans-decision-presets{border:1px solid rgba(148,163,184,.3);border-radius:1rem;background:linear-gradient(180deg,#ffffffe0,#f1f5f9d1);padding:.9rem .95rem;display:flex;flex-direction:column;gap:.72rem;box-shadow:inset 0 1px #fffc}.plans-decision-presets__title{margin:0;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:#334155}.plans-decision-presets__hint{margin:0;font-size:.76rem;color:#64748b;padding-top:.2rem;border-top:1px dashed rgba(148,163,184,.45)}.plans-decision-presets__empty{margin:0;font-size:.84rem;color:#64748b}.plans-decision-presets__list{display:flex;flex-wrap:wrap;gap:.58rem}.plans-decision-preset-pill{display:inline-flex;align-items:center;border:1px solid rgba(148,163,184,.5);border-radius:999px;background:linear-gradient(180deg,#fffffffa,#f1f5f9f5);overflow:hidden;min-height:2.15rem;box-shadow:0 8px 16px #0f172a14;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.plans-decision-preset-pill:hover{transform:translateY(-1px);border-color:#3b82f68c;box-shadow:0 12px 22px #2563eb2b}.plans-decision-preset-pill.is-active{border-color:#22c55e;background:linear-gradient(180deg,#f0fdf4fa,#dcfce7f5);box-shadow:0 0 0 1px #22c55e2e,0 14px 26px #10b9812e}.plans-decision-preset-pill__select{border:none;background:transparent;color:#0f172a;font-size:.92rem;font-weight:760;letter-spacing:.01em;padding:.46rem .88rem;cursor:pointer}.plans-decision-preset-pill__select:hover{background:#3b82f614}.plans-decision-preset-pill__remove{border:none;border-left:1px solid rgba(148,163,184,.3);background:linear-gradient(180deg,#f8fafcc7,#f1f5f9bf);color:#475569;width:2.1rem;height:2.1rem;cursor:pointer;font-size:1.12rem;font-weight:700;line-height:1;transition:background-color .15s ease,color .15s ease,transform .15s ease}.plans-decision-preset-pill__remove:hover{background:#ef444424;color:#b91c1c;transform:translateY(-1px)}.plans-decision-option-chip{border:1px solid rgba(148,163,184,.5);border-radius:.9rem;padding:.46rem .78rem;font-size:.84rem;font-weight:700;color:#0f172a;background:linear-gradient(180deg,#fffffff5,#f1f5f9f0);cursor:pointer;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.plans-decision-option-chip:hover{transform:translateY(-1px);background:#3b82f61a;border-color:#2563eb99;box-shadow:0 10px 20px #2563eb29}.plans-decision-option-chip.is-active{border-color:#16a34a;background:linear-gradient(180deg,#f0fdf4f5,#dcfce7f5);box-shadow:0 0 0 1px #16a34a33,0 10px 20px #16a34a24}.plans-decision-dialog .plans-export-footer{align-items:center;padding:.95rem 1rem 1.05rem;border-top:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#f8fafc26,#f1f5f9a8)}.plans-decision-dialog .plans-export-footer .btn-secondary{min-height:3.05rem;border:1px solid rgba(148,163,184,.55);border-radius:.95rem;padding:.62rem 1.3rem;font-size:1.03rem;font-weight:650;letter-spacing:.01em;color:#0f172a;background:linear-gradient(180deg,#fffffff5,#f1f5f9f2);box-shadow:0 10px 22px #0f172a1c,inset 0 1px #fffc;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.plans-decision-dialog .plans-export-footer .btn-secondary:hover{border-color:#3b82f680;background:linear-gradient(180deg,#eff6fffa,#e2e8f0f2);box-shadow:0 14px 26px #2563eb33,inset 0 1px #ffffffd9;transform:translateY(-1px)}.plans-decision-dialog .plans-export-footer .save-btn{min-width:138px;min-height:3.05rem;border:1px solid rgba(22,163,74,.82);border-radius:.95rem;padding:.62rem 1.42rem;font-size:1.03rem;font-weight:750;letter-spacing:.01em;background:linear-gradient(180deg,#4ade80,#16a34a);color:#f8fafc;box-shadow:0 16px 30px #16a34a4d,inset 0 1px #fff3;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.plans-decision-dialog .plans-export-footer .save-btn:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 18px 34px #15803d57,inset 0 1px #ffffff3d}.plans-decision-dialog .plans-export-footer .save-btn:active,.plans-decision-dialog .plans-export-footer .btn-secondary:active{transform:translateY(0)}.plans-decision-dialog .plans-export-footer .save-btn:focus-visible,.plans-decision-dialog .plans-export-footer .btn-secondary:focus-visible{outline:2px solid rgba(59,130,246,.58);outline-offset:2px}.plans-opening-dialog{max-width:420px;width:calc(100% - 2rem);background:#0c1320f0;border:1px solid rgba(37,99,235,.35);border-radius:1.1rem;box-shadow:0 28px 50px #0c13208c;color:#e2e8f0}.plans-opening-body{display:flex;flex-direction:column;gap:.85rem}.plans-opening-body .form-field{display:flex;flex-direction:column;gap:.25rem}.plans-opening-body .form-field input,.plans-opening-body .form-field select{padding:.55rem .85rem;border-radius:.8rem;border:1px solid rgba(37,99,235,.3);background:#0e1626e6;color:#f8fafc;font-size:.95rem}.plans-opening-body .form-field label{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8cc}.plans-opening-footer{display:flex;justify-content:flex-end;gap:.6rem}.plans-opening-footer .btn-secondary{background:#1e293bcc;border-color:#2563eb59;color:#dbeafe}.plans-opening-footer .btn-secondary:hover{background:#3b82f62e;border-color:#60a5faa6}.plans-openings-table-dialog{width:min(1600px,98vw);max-width:none;max-height:92vh;display:flex;flex-direction:column}.openings-table-body{flex:1;overflow:auto}.openings-table-container{width:100%;overflow-x:auto}.openings-table{min-width:100%;border-collapse:collapse;font-size:.92rem;color:#1f2937;table-layout:auto}.openings-table th,.openings-table td{border:1px solid #d1d5db;padding:.35rem .4rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plans-analysis-dialog{width:min(820px,96vw);background:linear-gradient(145deg,#0d1521f2,#0c131eeb);color:#e2e8f0;border:1px solid rgba(59,130,246,.25);box-shadow:0 22px 44px #080d188c}#plansMeasurementsAnalysisModal .modal-header{color:#e2e8f0;border-bottom:1px solid rgba(59,130,246,.18)}#plansMeasurementsAnalysisModal .modal-body{color:#cbd5e1}#plansMeasurementsAnalysisModal .modal-footer{background:#0f172a8c;border-top:1px solid rgba(59,130,246,.18)}#plansMeasurementsAnalysisModal .modal-close-btn{color:#e2e8f0;border-color:#94a3b852}#plansMeasurementsAnalysisModal .modal-close-btn:hover{background:#3b82f62e}#plansMeasurementsAnalysisModal .form-field input,#plansMeasurementsAnalysisModal .form-field select{background:#090d1759;border-color:#94a3b859;color:#e2e8f0}#plansMeasurementsAnalysisModal .form-field label{color:#cbd5e1d1}.plans-analysis-body{display:flex;flex-direction:column;gap:.9rem}.plans-analysis-section{background:#0f172a8c;border:1px solid rgba(59,130,246,.18);border-radius:12px;padding:.85rem;display:flex;flex-direction:column;gap:.5rem}.plans-analysis-section__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.plans-analysis-inline{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end}.plans-analysis-list{display:flex;flex-direction:column;gap:.5rem}.plans-analysis-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(148,163,184,.22);background:#ffffff05}.plans-analysis-row strong{color:#f8fafc}.plans-analysis-empty{margin:0;color:#cbd5e1d9}.openings-table th{background:#f3f4f6;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.openings-table thead th.layer-group{background:#e5e7eb;font-size:.9rem;white-space:nowrap}.openings-table tbody th{text-align:left;background:#f9fafb;font-weight:600;white-space:nowrap;width:240px}.openings-table td.is-total{background:#fef3c7;font-weight:600}.openings-table .cell-note{display:block;font-size:.75rem;color:#6b7280}.openings-table .is-count{width:60px}.openings-table-fixed-section{margin-top:1.2rem}.openings-table-section-title{font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.04em}.modal-header-note{margin:.2rem 0 0;font-size:.85rem;color:#6b7280}.plans-openings-table-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.plans-doors-table-dialog{width:min(1400px,98vw);max-width:none;max-height:92vh;display:flex;flex-direction:column}.plans-doors-table-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.plans-doors-table-header__meta{display:flex;align-items:center;gap:.8rem}.doors-table-body{flex:1;overflow:auto}.doors-table-container{width:100%;overflow-x:auto}.doors-table{min-width:100%;border-collapse:collapse;font-size:.9rem;color:#0f172a;table-layout:fixed}.doors-table th,.doors-table td{border:1px solid #d1d5db;padding:.4rem .45rem;text-align:left;vertical-align:top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doors-table th{background:#f3f4f6;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.doors-table tbody tr:nth-child(2n) td{background:#f8fafc}.doors-table td.is-center,.doors-table th.is-center{text-align:center}.doors-table td.is-type,.doors-table td.is-wrap{white-space:normal;word-break:break-word}@media(max-width:900px){.plans-export-body.is-two-columns{grid-template-columns:1fr}.plans-decision-dialog .plans-export-body{gap:.92rem}.plans-decision-input-wrap.form-field--stacked input{font-size:1.42rem}}@media(max-width:640px){.plans-export-dialog{width:calc(100% - 1.5rem)}.plans-export-header{flex-direction:column;align-items:flex-start}.plans-export-section{padding:1rem}.plans-export-quality-options{grid-template-columns:1fr}.plans-decision-dialog{width:calc(100% - 1rem);border-radius:1rem}.plans-decision-dialog .plans-decision-header{padding:.92rem .88rem .42rem}.plans-decision-dialog .plans-export-subtitle{font-size:.9rem}.plans-decision-dialog .plans-export-footer{padding:.78rem .85rem .88rem}.plans-decision-input-wrap{padding:.76rem .75rem .72rem}.plans-decision-input-wrap:after{right:1.22rem;top:calc(50% + .33rem)}.plans-decision-input-wrap.form-field--stacked input{height:54px;padding-right:4rem;font-size:1.32rem}}.surface-info-card{position:absolute;top:calc(var(--canvas-pad-top) + .35rem);right:calc(var(--canvas-pad-right) + .35rem);z-index:1200;max-width:min(340px,calc(100vw - 2rem));background:#0f172aeb;color:#f9fafc;border-radius:1.1rem;padding:1rem 1.15rem;box-shadow:0 20px 40px #0f172a59;backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.28);display:grid;gap:.75rem;font-size:.92rem;will-change:transform}.surface-info-card.hide{display:none!important}.door-edit-popover{position:absolute;z-index:1255;min-width:220px;max-width:min(300px,calc(100vw - 2rem));padding:.75rem .85rem;border-radius:.9rem;background:#0f172af5;color:#f8fafc;border:1px solid rgba(148,163,184,.28);box-shadow:0 18px 40px #0f172a73;display:grid;gap:.65rem}.door-edit-popover.hide{display:none!important}.door-edit-popover__header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-weight:600}.door-edit-popover__body{display:grid;gap:.4rem;font-size:.85rem}.door-edit-popover__body label{font-size:.8rem;color:#e2e8f0d9}.door-edit-popover__body select{width:100%;padding:.45rem .65rem;border-radius:.65rem;border:1px solid rgba(148,163,184,.35);background:#0f172af5;color:#f8fafc;font-size:.9rem}.door-edit-popover__body select:focus-visible{outline:2px solid rgba(56,189,248,.6);outline-offset:2px}.door-edit-popover__body input[type=text]{width:100%;padding:.45rem .65rem;border-radius:.65rem;border:1px solid rgba(148,163,184,.35);background:#0f172af5;color:#f8fafc;font-size:.9rem}.door-edit-popover__body input[type=text]:focus-visible{outline:2px solid rgba(56,189,248,.6);outline-offset:2px}.door-edit-popover__hint{margin:0;font-size:.75rem;color:#94a3b8e6}.door-edit-popover__toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:#e2e8f0eb}.door-edit-popover__toggle input{accent-color:#38bdf8}.door-edit-popover__row{display:flex;gap:.45rem;align-items:center}.door-edit-popover__row input,.door-edit-popover__row select{flex:1 1 auto;min-width:0}.doors-supplier-group{padding:.85rem 0;border-bottom:1px solid rgba(148,163,184,.18)}.doors-supplier-group:last-child{border-bottom:none}.doors-supplier-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 .65rem}.doors-supplier-header h4{margin:0;font-size:1rem;color:#0f172a}.doors-supplier-header .plans-badge{align-self:center}.doors-supplier-row td{background:#0f172a0f;font-weight:600;color:#0f172a}.doors-supplier-row td .plans-badge{margin-left:.5rem}.doors-supplier-row__label{margin-right:.35rem}.plans-supplier-assign{display:flex;flex-direction:column;gap:1rem}.plans-supplier-assign__controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.plans-supplier-assign__field{display:flex;flex-direction:column;gap:.35rem;min-width:220px}.plans-supplier-assign__row{display:flex;gap:.5rem;align-items:center}.plans-supplier-assign__row select{flex:1 1 auto;min-width:160px}.plans-supplier-assign__actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.plans-supplier-assign__toggle{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#475569}.plans-supplier-assign__hint{margin:0;font-size:.85rem;color:#64748b}.plans-supplier-assign__conflicts{border:1px solid rgba(251,146,60,.5);background:#ffedd599;padding:.65rem .8rem;border-radius:.65rem;color:#7c2d12;font-size:.9rem}.plans-supplier-assign__conflicts.is-empty{border-color:#94a3b866;background:#f8fafce6;color:#475569}.plans-supplier-assign__conflicts strong{color:#7c2d12}.plans-supplier-assign__conflicts ul{margin:.45rem 0 0;padding-left:1.2rem}.plans-supplier-assign__conflicts li{margin:.15rem 0}.doors-table tr.is-unassigned td{background:#fee2e280}.plans-door-marker-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.35rem 0 0;color:#475569;font-size:.85rem}.plans-door-marker-legend.is-hidden{display:none}.plans-door-marker-legend__item{display:flex;align-items:center;gap:.45rem;padding:.15rem .4rem;border-radius:.45rem;background:#94a3b81a}.plans-door-marker-legend__item{cursor:pointer}.plans-door-marker-legend__item.is-disabled{cursor:default;opacity:.65}.plans-door-marker-legend__swatch{width:.7rem;height:.7rem;border-radius:50%;box-shadow:0 0 0 2px #ffffffe6 inset}.plans-door-marker-legend__count{color:#94a3b8;font-size:.8rem}.plans-door-marker-legend__door{width:.8rem;height:.8rem;border-radius:50%;border:1px solid rgba(148,163,184,.7);background:#e2e8f0e6}.plans-door-marker-legend__door.is-empty{background:repeating-linear-gradient(45deg,#e2e8f0e6,#e2e8f0e6 4px,#cbd5e1e6 4px 8px)}.door-edit-popover__copy{padding:.42rem .6rem;border-radius:.6rem;border:1px solid rgba(148,163,184,.4);background:#1e293bb3;color:#e2e8f0;font-size:.75rem;font-weight:600;cursor:pointer}.door-edit-popover__copy:disabled{opacity:.6;cursor:not-allowed}.surface-info-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.surface-info-close{background:#0f172ad9;border:1px solid rgba(148,163,184,.35);color:#f8fafc;width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .18s ease,transform .18s ease,border-color .18s ease}.surface-info-close svg{width:18px;height:18px}.surface-info-close:hover{background:#1e293bf2;transform:scale(1.05);border-color:#e2e8f080}.surface-info-close:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.surface-info-title-row{display:flex;align-items:center;gap:.75rem}.surface-info-title{font-size:1.05rem;font-weight:600;margin:0;flex:1}.surface-info-meta{display:flex;flex-wrap:nowrap;gap:.4rem;align-items:center}.surface-info-chip{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.78rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);text-transform:uppercase;letter-spacing:.04em}.surface-info-body{display:grid;gap:.55rem}.surface-info-row{display:flex;justify-content:space-between;gap:.6rem}.surface-info-row span:last-child{font-weight:500;color:#e2e8f0}.surface-info-structure{display:grid;gap:.35rem;background:#0f172a8c;border-radius:.85rem;padding:.6rem .75rem;border:1px solid rgba(148,163,184,.22)}.surface-info-structure h4{margin:0;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#94a3b8}.surface-info-structure ul{margin:0;padding-left:1.1rem;display:grid;gap:.25rem;color:#e2e8f0}.surface-info-structure li{font-size:.85rem}.surface-info-foot{display:flex;justify-content:flex-end}.surface-info-highlight{font-weight:600;color:#fbbf24}.surface-info-color{width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.surface-info-sub{font-size:.82rem;color:#cbd5f5;margin:0}@media(max-width:720px){.surface-info-card{top:auto;right:auto;left:calc(var(--canvas-pad-left) + .5rem);bottom:calc(var(--canvas-pad-bottom) + .5rem);max-width:none}}main.full-width{max-width:none;padding-left:0;padding-right:0;padding-top:0;width:100%;overflow-x:clip;background:radial-gradient(circle at top left,#2563eb2e,#070b14f2)}.plans-screen{display:none;flex-direction:column;width:100%;max-width:100%;min-height:calc(100vh - 76px);overflow-x:clip;background:linear-gradient(160deg,#0f172a,#1e293b 45%,#111827);color:#e2e8f0}.plans-screen.active{display:flex}.plans-topbar{position:sticky;top:0;z-index:300;display:flex;flex-direction:column;gap:.4rem;padding:.55rem 1.35rem .65rem;background:#0c121ef0;border-bottom:1px solid rgba(71,85,105,.45);box-shadow:0 18px 32px #080d1847;backdrop-filter:blur(14px)}.plans-topbar__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;row-gap:.4rem}.plans-topbar__selectors{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:.35rem;align-items:center}.plans-topbar__tabs{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.25rem;padding:.18rem .3rem;border-radius:999px;border:1px solid rgba(94,109,133,.42);background:#101826c7;box-shadow:inset 0 0 0 1px #090d178c}.plans-topbar__panels{position:relative;margin-top:.55rem;--tab-connector-x: 50%;--tab-connector-width: 64px}.plans-topbar__panel{position:relative;z-index:200;display:none;flex-direction:column;gap:.6rem;padding:.95rem 1.1rem;border-radius:1rem;border:1px solid rgba(94,109,133,.38);background:linear-gradient(145deg,#0d1521ed,#090f1ae0);box-shadow:0 20px 36px #080d186b;backdrop-filter:blur(18px);overflow:visible;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.plans-topbar__panel.is-active{display:flex}.plans-topbar__panel.is-active:before{content:"";position:absolute;top:-.62rem;left:calc(var(--tab-connector-x, 50%) - var(--tab-connector-width, 64px) / 2);width:var(--tab-connector-width, 64px);height:.62rem;border-radius:.62rem .62rem 0 0;background:linear-gradient(120deg,#3b82f6ad,#0ea5e98c);border:1px solid rgba(96,165,250,.5);border-bottom:none;box-shadow:0 14px 26px #0ea5e952;pointer-events:none}.plans-topbar__panel:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #94a3b81f}.plans-topbar__panel-placeholder{margin:0;font-size:.82rem;color:#94a3b8c7;line-height:1.45;letter-spacing:.02em}.layer-filters-card{display:flex;flex-direction:column;gap:.9rem}.layer-filters-card__header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.layer-filters-card__title{margin:0 0 .2rem;font-size:1rem;font-weight:600;color:#e2e8f0}.layer-filters-card__subtitle{margin:0;font-size:.82rem;color:#cbd5e1bf}.layer-filters-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.45rem}.ghost-btn--subtle{border-color:#94a3b866;background:#0f172a8c;color:#e2e8f0}.ghost-btn--subtle:disabled{opacity:.55;cursor:not-allowed}.plans-summary-controls .ghost-btn--subtle{background:var(--summary-surface-alt);color:var(--summary-heading);border-color:var(--summary-border)}.plans-summary-controls .ghost-btn--subtle:hover{border-color:#2563eb59;color:var(--summary-accent)}.ghost-btn--subtle:not(:disabled):hover{background:#3b82f62e;border-color:#3b82f680}.toolbar-chip--range{flex-direction:column;align-items:stretch}.toolbar-chip--range label{width:100%}.chip-range{display:flex;align-items:center;gap:.35rem;width:100%}.chip-range span{color:#94a3b899;font-size:.85rem}.chip-range .chip-input{flex:1 1 auto;min-width:0;padding-left:0;padding-right:0;text-align:center}.plans-filter-toggle{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .8rem;border-radius:.85rem;border:1px solid rgba(88,117,167,.3);background:#111827a6;flex-wrap:wrap}.plans-filter-toggle__label p{margin:0;font-weight:600;color:#e2e8f0}.plans-filter-toggle__label span{display:block;font-size:.8rem;color:#cbd5e1b3;margin-top:.15rem}.plans-filter-toggle__options{display:inline-flex;gap:.35rem;flex-wrap:wrap}.filter-pill{border:1px solid rgba(94,109,133,.4);background:#1f2937d9;color:#e2e8f0;border-radius:.65rem;padding:.25rem .8rem;font-weight:500;font-size:.85rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.filter-pill:hover{border-color:#3b82f680;color:#f8fafc}.filter-pill.is-active{background:linear-gradient(135deg,#3b82f6cc,#0ea5e9cc);border-color:#bfdbfee6;color:#0f172a;box-shadow:0 12px 22px #2563eb59}.plans-openings-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}.plans-filter-section{display:flex;flex-direction:column;gap:.5rem}.plans-filter-section__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.plans-filter-section__title{margin:0;font-weight:600;color:#e2e8f0}.plans-filter-section__subtitle{margin:.15rem 0 0;font-size:.82rem;color:#cbd5e1a6}.plans-filter-tags{display:flex;flex-wrap:wrap;gap:.45rem;min-height:2rem}.plans-filter-tags__empty{margin:0;font-size:.85rem;color:#94a3b8bf}.filter-tag{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .65rem;border-radius:.75rem;border:1px solid rgba(94,109,133,.4);background:#1a2437cc;color:#e2e8f0;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;min-width:0}.filter-tag--simple{gap:.35rem}.filter-tag--simple .filter-tag__body{flex-direction:row;gap:.4rem}.filter-tag--simple .filter-tag__meta{font-size:.78rem;color:#cbd5e1bf}.filter-tag__swatch{width:.65rem;height:.65rem;border-radius:.3rem;border:1px solid rgba(255,255,255,.4);flex-shrink:0}.filter-tag__body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.filter-tag__label{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-tag__meta{font-size:.75rem;color:#bfdbfecc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-tag__count{font-size:.75rem;font-weight:600;color:#e2e8f0d9}.filter-tag.is-active{background:linear-gradient(135deg,#2563eb38,#0ea5e938);border-color:#3b82f68c;transform:translateY(-1px)}.filter-tag.is-disabled,.filter-tag:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;border-color:#5e6d854d;background:#0f172a73;transform:none}.filter-tag.is-disabled .filter-tag__meta,.filter-tag:disabled .filter-tag__meta,.filter-tag.is-disabled .filter-tag__label,.filter-tag:disabled .filter-tag__label,.filter-tag.is-disabled .filter-tag__count,.filter-tag:disabled .filter-tag__count{color:#e2e8f073}.plans-filter-summary{border:1px dashed rgba(94,109,133,.6);border-radius:.9rem;padding:.65rem .85rem;background:#0f172aa6;display:flex;flex-direction:column;gap:.35rem}.plans-filter-summary__counts{font-weight:600;color:#e2e8f0}.plans-filter-summary__badges{display:flex;flex-wrap:wrap;gap:.35rem}.plans-filter-summary__badge{padding:.15rem .5rem;border-radius:.65rem;border:1px solid rgba(148,163,184,.45);font-size:.78rem;color:#e2e8f0d9;background:#1f2937d9}.plans-filter-summary--empty{color:#cbd5e1bf;border-style:solid}.plans-panel-group{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem}.plans-panel-fields{display:flex;flex:1 1 auto;gap:.45rem;flex-wrap:wrap;align-items:flex-end;min-width:0}.plans-panel-fields--split .toolbar-chip{flex:1 1 min(220px,100%)}.plans-panel-actions{display:flex;align-items:flex-end;gap:.4rem}.plans-osb-toggle{display:inline-flex;align-items:center;gap:.65rem;padding:.45rem .85rem;border-radius:1rem;border:1px solid rgba(148,163,184,.45);background:#0f172aa6;color:#e2e8f0;font-size:.78rem;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;align-self:flex-end}.plans-osb-toggle:hover{border-color:#3b82f68c;box-shadow:0 12px 24px #0f172a73}.plans-osb-toggle input{appearance:none;width:38px;height:22px;border-radius:999px;background:#475569b3;position:relative;outline:none;transition:background .18s ease,box-shadow .18s ease}.plans-osb-toggle input:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#f8fafc;top:3px;left:4px;box-shadow:0 3px 6px #0f172a73;transition:transform .18s ease}.plans-osb-toggle input:checked{background:linear-gradient(120deg,#3b82f6e6,#0ea5e9d9);box-shadow:0 0 0 2px #60a5fa59}.plans-osb-toggle input:checked:after{transform:translate(14px)}.plans-osb-toggle__text{display:flex;flex-direction:column;line-height:1.1}.plans-osb-toggle__text strong{font-size:.8rem;font-weight:600;color:#f8fafc}.plans-osb-toggle__text small{font-size:.7rem;color:#e2e8f0cc}.plans-panel-actions .icon-btn{flex-shrink:0}.plans-topbar__row--actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.plans-topbar__actions-group{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.plans-topbar__actions-group--primary{flex:1 1 auto}.plans-topbar__actions-group--zoom{flex:0 0 auto;margin-left:auto;gap:.4rem}.plans-topbar__select{position:relative;display:flex;flex-direction:column;gap:0;min-width:180px}.plans-topbar__select--floor{min-width:110px}.plans-topbar__selectors .plans-topbar__select{min-width:0}.plans-topbar__selectors .plans-topbar__select select{padding:.38rem 1.8rem .38rem .8rem;border-radius:.55rem;font-size:.82rem;background:#0f1724b8;border:1px solid rgba(71,85,105,.42);box-shadow:inset 0 0 0 1px #080d1885}.plans-topbar__select--inline{min-width:190px}.plans-topbar__select--inline select{padding:.5rem 2.2rem .5rem .9rem;border-radius:.75rem}.plans-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.32rem .82rem;border-radius:999px;border:1px solid transparent;background:transparent;color:#cbd5e1c7;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.plans-tab:hover,.plans-tab:focus-visible{color:#f8fafc;background:#25385d6b;border-color:#94a3b861;outline:none}.plans-tab.is-active{color:#f8fafc;background:linear-gradient(120deg,#3b82f673,#0ea5e961);border-color:#7dd3fc99;box-shadow:0 14px 30px #0ea5e952}.plans-tab.is-active:after{content:"";position:absolute;left:50%;bottom:-.52rem;width:calc(100% - 18px);max-width:112px;height:.52rem;background:linear-gradient(118deg,#3b82f6ad,#0ea5e98c);border-radius:999px;transform:translate(-50%);box-shadow:0 12px 22px #0ea5e94d}.plans-topbar__select label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.plans-topbar__select select,.plans-status-bar select,.plans-status-bar input,.plans-topbar__select input{appearance:none;width:100%;padding:.52rem 2.3rem .52rem .95rem;border-radius:.75rem;border:1px solid rgba(94,109,133,.42);background:#101826c7;color:#f8fafc;font-size:.9rem;line-height:1.4;box-shadow:inset 0 0 0 1px #090e178c;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.plans-topbar__select select,.plans-status-bar select{background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 1rem center;background-size:.65rem .4rem}.plans-topbar__select select:focus,.plans-status-bar select:focus,.plans-status-bar input:focus{outline:none;border-color:#7dd3fca6;box-shadow:0 0 0 3px #0ea5e938}.plans-topbar__select.is-filled label{color:#a5b4fcf2}.plans-topbar__select.is-filled select{border-color:#818cf8a6;background:#202c43f2;box-shadow:0 0 0 1px #818cf852}.plans-topbar__select--plan{--plan-action-gap: .45rem}.plans-panel-group--openings,.plans-panel-group--doors{align-items:flex-end;gap:.75rem}.plans-panel-fields--openings{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.9rem}.plans-panel-fields--doors{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.9rem;align-items:end}.plans-door-filters{display:flex;flex-direction:column;gap:.5rem;margin-top:.2rem}.plans-door-filters__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.plans-door-filters__title{display:flex;align-items:center;gap:.45rem}.plans-door-filters__toggle{padding:.2rem .45rem;min-width:auto}.plans-door-filters__toggle svg{width:14px;height:14px;transition:transform .18s ease}.plans-door-filters__head p{margin:0;font-weight:600;color:#e2e8f0}.plans-door-filters__count{margin:0;font-size:.78rem;font-weight:600;color:#e2e8f0c7}.plans-door-filters.is-collapsed #plansDoorTypeFilters{display:none}.plans-door-filters.is-collapsed .plans-door-filters__toggle svg{transform:rotate(-90deg)}.opening-layer-picker{display:flex;flex-direction:column;gap:.35rem}.opening-layer-picker label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#e2e8f0b3}.opening-layer-picker select{width:100%;padding:.55rem .9rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.35);background:#0f172ad1;color:#f8fafc;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease;appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right .9rem center;background-size:.65rem .4rem}.opening-layer-picker select:focus-visible{outline:none;border-color:#3b82f6a6;box-shadow:0 0 0 3px #3b82f640}.opening-layer-picker select:disabled{opacity:.5}.opening-layer-picker__hint{font-size:.78rem;color:#cbd5e1bf;margin:0}.opening-variant-control{display:flex;flex-direction:column;gap:.35rem}.opening-variant-control__label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#e2e8f0b3}.opening-variant-control__buttons{display:inline-flex;gap:.4rem;background:#0f172aa6;border:1px solid rgba(59,130,246,.25);border-radius:999px;padding:.18rem}.opening-variant-btn{border:none;background:transparent;color:#cbd5f5;font-size:.8rem;font-weight:600;padding:.25rem .85rem;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.opening-variant-btn.is-active{background:linear-gradient(120deg,#3b82f6b3,#0ea5e98c);color:#0f172a}.opening-variant-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #3b82f666}.opening-add-btn{min-width:210px;white-space:nowrap;align-self:flex-start;padding:.7rem 1.85rem;border-radius:1.15rem;border:1px solid rgba(125,211,252,.75);background:linear-gradient(118deg,#3b82f6f2,#0ea5e9eb);color:#f8fafc;font-weight:600;letter-spacing:.03em;box-shadow:0 16px 32px #0ea5e952,inset 0 0 0 1px #f8fafc2e;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.opening-add-btn:not(:disabled):hover{background:linear-gradient(120deg,#3b82f6,#2dd4bff2);border-color:#bfdbfee6;box-shadow:0 20px 38px #0ea5e961,0 0 22px #3b82f673;transform:translateY(-1px)}.opening-add-btn:not(:disabled):active{transform:translateY(0);background:linear-gradient(120deg,#2563ebf2,#0ea5e9d9);box-shadow:0 12px 24px #0ea5e952}.opening-add-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #bfdbfe80,0 0 0 6px #0ea5e940,0 16px 34px #0ea5e959}.plans-door-types-dialog{width:min(94vw,980px);max-width:980px}.plans-door-types-body{padding:0}.door-types-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.2fr);gap:1.2rem;padding:1.2rem}.door-types-list-wrap{display:flex;flex-direction:column;gap:.8rem}.door-types-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.door-types-actions{display:flex;flex-direction:column;gap:.4rem;align-items:flex-end}.door-types-list-head h4{margin:0;color:#e2e8f0}.door-types-sub{margin:.2rem 0 0;font-size:.78rem;color:#cbd5e1b3}.door-types-list{max-height:420px;overflow:auto;padding-right:.3rem}.door-type-form{display:flex;flex-direction:column;gap:.65rem}.door-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.checkbox-row{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .6rem;border-radius:.6rem;background:#0f172a80;border:1px solid rgba(148,163,184,.35);color:#e2e8f0;font-size:.85rem}.checkbox-row input{width:16px;height:16px}.door-type-meta{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#cbd5e1cc;margin-top:.2rem}.opening-add-btn:disabled{cursor:not-allowed;background:#0f172aa6;border-color:#47556999;color:#94a3b8cc;box-shadow:inset 0 0 0 1px #ffffff0f;opacity:.7}.plans-select-with-action{display:flex;align-items:center;gap:var(--plan-action-gap, .6rem);position:relative}.plans-select-holder{position:relative;flex:1 1 auto;min-width:0}.plans-select-holder select{width:100%;min-width:0;padding-right:2.1rem;background-position:right 1.2rem center}.plans-version-select{flex:0 0 210px;min-width:170px}.plans-version-select select{width:100%;min-width:0;padding-right:2rem}@media(max-width:1200px){.plans-version-select{flex-basis:170px}}.action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;width:36px;border-radius:11px;border:1px solid rgba(125,211,252,.45);background:#0ea5e92e;color:#e0f2fe;transition:background .18s ease,border-color .18s ease,transform .18s ease}.action-btn svg{width:.9rem;height:.9rem;flex-shrink:0}.plans-select-status{position:absolute;right:-4px;top:-4px;width:10px;height:10px;border-radius:999px;background:#f97316;box-shadow:0 0 0 2px #0c121ef0;display:none}.plans-select-status.is-visible{display:inline-flex}.action-btn:disabled{opacity:.45;cursor:not-allowed}.action-btn:not(:disabled):hover{background:#0ea5e947;border-color:#38bdf88c;transform:translateY(-1px)}@media(max-width:900px){.plans-topbar__grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.plans-filter-toggle{flex-direction:column;align-items:stretch}.plans-panel-fields--openings,.plans-panel-fields--doors,.door-types-layout{grid-template-columns:1fr}}.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:0 .7rem;border-radius:.75rem;border:1px solid rgba(88,117,167,.35);background:#172234eb;color:#dbeafe;font-weight:500;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.ghost-btn svg{width:1.05rem;height:1.05rem}.ghost-btn:hover{background:#8b5cf638;border-color:#8b5cf673;color:#f8fafc}.ghost-btn.is-active{background:#10b98138;border-color:#10b9818c;color:#ecfdf3}.ghost-btn--danger{border-color:#ef444452;color:#fecdd3}.ghost-btn--danger:hover{background:#dc262629;border-color:#f87171bf;color:#ffe4e6}.plans-zoom-group{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem;border-radius:14px;background:#0f172ac7;border:1px solid rgba(37,99,235,.2)}.plans-zoom-label{min-width:56px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;color:#e2e8f0}.plans-workspace{position:relative;flex:1;display:flex;min-height:0}.plans-toolbar{position:relative;z-index:80;width:68px;padding:1.3rem .75rem;display:flex;flex-direction:column;gap:.9rem;align-items:center;background:#070c18eb;border-right:1px solid rgba(37,99,235,.22);backdrop-filter:blur(16px)}.tool-btn{width:44px;height:44px;border-radius:14px;border:1px solid transparent;background:#2563eb2e;color:#dbeafe;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.tool-btn svg{width:1.1rem;height:1.1rem}.tool-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #2563eb38;border-color:#60a5fa80}.tool-btn.is-active,.tool-btn[data-active=true]{background:linear-gradient(145deg,#2563ebd9,#0e7490d9);color:#f8fafc;border-color:#93c5fde6;box-shadow:0 18px 36px #2563eb4d}.tool-btn-group{position:relative;display:flex;flex-direction:column;align-items:center}.tool-btn-menu{position:absolute;left:62px;top:0;display:flex;flex-direction:column;gap:.35rem;padding:.6rem;min-width:220px;border-radius:16px;border:1px solid rgba(96,165,250,.45);background:#070c18f2;box-shadow:0 18px 34px #03071299;opacity:0;pointer-events:none;transform:translate(-12px) scale(.98);transition:opacity .18s ease,transform .18s ease;z-index:1600}.tool-menu-group{display:flex;flex-direction:column;gap:.3rem}.tool-menu-item--parent{justify-content:space-between;gap:.35rem}.tool-menu-caret{font-size:.85rem;color:#f8fafccc;transition:transform .18s ease}.tool-menu-group.is-open .tool-menu-caret{transform:rotate(90deg)}.tool-submenu{display:none;flex-direction:column;gap:.25rem;padding-left:.35rem}.tool-menu-group.is-open .tool-submenu{display:flex}.tool-submenu-btn{border:1px solid rgba(37,99,235,.25);border-radius:12px;padding:.3rem .55rem;background:#3b82f61f;color:#e2e8f0;text-align:left;transition:border-color .15s ease,background .15s ease}.tool-submenu-btn:hover{border-color:#94bbe999;background:#2563eb38}.tool-submenu-btn.is-active{border-color:#f8fafcd9;background:linear-gradient(145deg,#2563eba6,#0ea5e98c)}.tool-submenu-label{font-size:.85rem;font-weight:600}.tool-btn-group.is-open .tool-btn-menu{opacity:1;pointer-events:auto;transform:translate(0) scale(1)}.tool-menu-item{width:100%;border:1px solid rgba(59,130,246,.2);border-radius:14px;padding:.35rem .65rem;display:flex;align-items:center;gap:.5rem;background:#2563eb1f;color:#e2e8f0;text-align:left;transition:border-color .15s ease,background .15s ease,transform .15s ease}.tool-menu-item:hover{border-color:#94bbe999;background:#2563eb33;transform:translate(2px)}.tool-menu-item.is-active{border-color:#f8fafce6;background:linear-gradient(145deg,#2563ebb3,#0ea5e9a6);color:#f8fafc;box-shadow:0 12px 28px #0e749059}.tool-menu-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#1e40af59}.tool-menu-icon svg{width:1.3rem;height:1.3rem}.tool-menu-label{font-size:.9rem;font-weight:600;line-height:1.2}.plans-canvas-area{position:relative;flex:1;min-height:0;background:#0f172ae6;overflow:hidden}.plans-canvas-shell{--canvas-pad-top: 1.25rem;--canvas-pad-right: 1.5rem;--canvas-pad-bottom: 1.5rem;--canvas-pad-left: 1.5rem;position:absolute;inset:0;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;padding:var(--canvas-pad-top) var(--canvas-pad-right) var(--canvas-pad-bottom) var(--canvas-pad-left);touch-action:pan-x pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.plans-canvas{background:#131f33;border-radius:18px;box-shadow:0 22px 48px #0f172a73;border:1px solid rgba(88,117,167,.28)}.plans-overlay{position:absolute;pointer-events:auto;top:var(--canvas-pad-top);left:var(--canvas-pad-left);touch-action:pan-x pan-y;-webkit-touch-callout:none}.plans-empty-state{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#94a3b8f2;background:linear-gradient(160deg,#0f172ac7,#080d18e0);border-radius:18px;border:1px dashed rgba(51,65,85,.45)}.plans-empty-state__inner h3{font-size:1.25rem;font-weight:600;margin-bottom:.35rem}.plans-empty-state__inner p{margin:0;font-size:.95rem}.plans-gate{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:2rem;background:linear-gradient(145deg,#0f172aeb,#080d18f5);border-radius:18px;border:1px solid rgba(30,64,175,.24);color:#cbd5f5}.plans-gate__content h2{margin:0 0 .6rem;font-size:1.35rem;font-weight:600}.plans-editor.hide{display:none}.plans-side-panel{position:absolute;top:0;bottom:0;right:-420px;width:360px;background:#141d2ef7;border-left:1px solid rgba(88,117,167,.35);backdrop-filter:blur(16px);padding:1.4rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.9rem;transition:right .28s ease,opacity .18s ease;opacity:0;z-index:40}.plans-side-panel.is-open{right:0;opacity:1}.plans-side-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.plans-side-panel__head h3{margin:0;font-size:1.05rem;font-weight:600;color:#f8fafc}.plans-side-panel__actions{display:flex;align-items:center;gap:.4rem}.panel-close{background:transparent;border:1px solid rgba(148,163,184,.28);border-radius:12px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:#cbd5e1d9;transition:border-color .18s ease,color .18s ease,background .18s ease}.panel-close:hover{background:#8b5cf62e;border-color:#8b5cf673;color:#f8fafc}.plans-side-panel__body{flex:1;overflow:auto;display:grid;gap:.6rem;padding-right:.2rem}.plans-side-panel__body .plans-detail-item{background:#1a2437bf;border-color:#5875a759;color:#e2e8f0}.plans-side-panel__body .plans-detail-item.is-active{background:linear-gradient(130deg,#6366f199,#0ea5e973);border-color:#818cf8bf;color:#f8fafc}.plans-status-bar{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.2rem;padding:.55rem 1.1rem .6rem;background:#111827f0;border-top:1px solid rgba(99,102,241,.22);backdrop-filter:blur(14px)}.plans-status-bar__section{display:inline-flex;align-items:center;gap:1.2rem;min-width:0;flex-wrap:nowrap}.plans-status-bar__section--left{flex:1 1 auto;justify-content:flex-start}.plans-status-bar__section--right{flex:0 1 auto;justify-content:flex-end;margin-left:auto;gap:1rem}.plans-stat{display:flex;flex-direction:column;gap:.2rem;flex:0 0 auto;min-width:88px}.plans-stat span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#bfcadeb8}.plans-stat strong{font-size:1.32rem;font-weight:600;color:#f8fafc;font-variant-numeric:tabular-nums;line-height:1.08}.plans-status-bar__section--left .plans-stat:not(:last-of-type){position:relative;padding-right:1.15rem;margin-right:1rem}.plans-status-bar__section--left .plans-stat:not(:last-of-type):after{content:"";position:absolute;top:18%;bottom:18%;right:0;width:1px;background:linear-gradient(180deg,#94a3b866,#94a3b80d)}.plans-status-bar__zoom{display:inline-flex;align-items:center;gap:.6rem;background:#0f172aad;border-radius:.75rem;padding:.18rem .65rem;flex:0 0 auto;min-width:0;min-height:36px;box-shadow:inset 0 1px #94a3b81f,0 8px 16px #02060e61}.plans-status-bar .plans-topbar__status{padding:.28rem .75rem;background:#172234eb;border-color:#5875a766;color:#dbeafe;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;gap:.4rem;box-shadow:inset 0 1px #94a3b824}.plans-status-bar .plans-topbar__status .status-dot{box-shadow:0 0 0 2px #111827eb}.plans-status-bar__zoom .plans-zoom-label{font-size:.74rem;letter-spacing:.1em;font-weight:600;text-transform:uppercase;color:#e2e8f0;min-width:60px;text-align:center;padding:.1rem .85rem;border-radius:.65rem;background:#111b2dc7;box-shadow:inset 0 1px #94a3b82e}.plans-status-bar__zoom .ghost-btn{background:#0a1120e0;border-color:#5875a77a;width:40px;height:40px;border-radius:.8rem;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}.plans-status-bar__zoom .ghost-btn svg{width:1.15rem;height:1.15rem}.plans-status-bar__zoom .ghost-btn:hover{background:#818cf842;border-color:#818cf894;color:#f8fafc;transform:translateY(-1px)}.plans-status-bar__zoom .ghost-btn:active{transform:scale(.96)}@media(max-width:1180px){.plans-status-bar{gap:.6rem .9rem}.plans-status-bar__section{gap:1rem}}@media(max-width:940px){.plans-status-bar__section{flex-wrap:wrap;row-gap:.35rem}.plans-status-bar__section--right{margin-left:0;justify-content:flex-start;gap:.75rem}}@media(max-width:720px){.plans-status-bar{flex-direction:column;align-items:stretch}.plans-status-bar__section{width:100%;justify-content:space-between}.plans-status-bar__section--left,.plans-status-bar__section--right{gap:.7rem}.plans-status-bar__section--right{justify-content:flex-start}}@media(max-width:560px){.plans-status-bar__section--right{flex-direction:column;align-items:stretch;gap:.6rem}.plans-status-bar__zoom{width:100%;justify-content:space-between}}.toolbar-chip{display:flex;align-items:center;gap:.35rem;background:#1a2437d9;border:1px solid rgba(88,117,167,.35);border-radius:.75rem;padding:.25rem .6rem;position:relative}.toolbar-chip label{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:#cbd5e1d1;flex-shrink:0}.chip-input{border:none;background:transparent;color:#f8fafc;font-size:.9rem;min-width:68px;padding:.35rem 0}.toolbar-chip .chip-input{flex:1 1 auto;width:100%;min-width:0}.toolbar-chip[data-chip-select]:after{display:none}.chip-select{position:relative;flex:1 1 auto;min-width:0}.chip-select__button{width:100%;border:none;background:transparent;color:#f8fafc;font-size:.9rem;font-family:inherit;display:flex;align-items:center;gap:.5rem;padding:.35rem 1.4rem .35rem .15rem;text-align:left;cursor:pointer;border-radius:.55rem;position:relative;transition:background .18s ease,border-color .18s ease}.chip-select__button:hover:not(.is-disabled){background:#25385d52}.chip-select__button:after{content:"";position:absolute;right:.15rem;top:50%;width:.5rem;height:.5rem;border-right:2px solid rgba(148,163,184,.8);border-bottom:2px solid rgba(148,163,184,.8);transform:translateY(-50%) rotate(45deg);pointer-events:none}.chip-select__button:focus-visible{outline:2px solid rgba(148,163,184,.65);outline-offset:2px}.chip-select__button.is-disabled{cursor:not-allowed;opacity:.6}.chip-select__swatch{width:.75rem;height:.75rem;border-radius:.3rem;background:var(--swatch-color, rgba(148, 163, 184, .25));border:1px solid rgba(255,255,255,.25);flex-shrink:0;transition:transform .18s ease}.chip-select__swatch--empty{background:#94a3b838;border-color:#94a3b859}.chip-select__swatch--baseboard{background:#f97316;border-color:#f973168c}.chip-select__text{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-select__dropdown{position:absolute;top:calc(100% + .45rem);left:0;right:0;background:#0f172af2;border:1px solid rgba(88,117,167,.45);border-radius:.9rem;box-shadow:0 16px 38px #080d1873;padding:.35rem;display:flex;flex-direction:column;gap:.3rem;z-index:80;max-height:320px;overflow-y:auto}.chip-select__option{display:flex;align-items:flex-start;gap:.55rem;width:100%;border:none;border-radius:.65rem;background:transparent;color:#f8fafc;cursor:pointer;padding:.45rem .55rem;text-align:left;transition:background .18s ease,transform .18s ease}.chip-select__option:hover,.chip-select__option:focus-visible{outline:none;background:#2563eb2e;transform:translateY(-1px)}.chip-select__option.is-selected{background:#0ea5e92e;box-shadow:inset 0 0 0 1px #3b82f666}.chip-select__option-swatch{width:.75rem;height:.75rem;border-radius:.3rem;background:var(--swatch-color, rgba(148, 163, 184, .25));border:1px solid rgba(255,255,255,.25);margin-top:.1rem;flex-shrink:0}.chip-select__option-swatch--empty{background:#94a3b840;border-color:#94a3b859}.chip-select__option-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.chip-select__option-main{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-select__option-meta{font-size:.78rem;color:#bfdbfed9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-select__option--placeholder .chip-select__option-main{font-weight:500;color:#e2e8f0d9}.chip-select__option--custom{border-top:1px solid rgba(59,130,246,.18);margin-top:.2rem;padding-top:.6rem}.chip-input:focus{outline:none}.toolbar-chip select.chip-input{padding-right:1.6rem;cursor:pointer}.toolbar-chip--select select.chip-input::-webkit-calendar-picker-indicator{display:none}.toolbar-chip--select:after{content:"";position:absolute;right:.6rem;top:50%;margin-top:-2px;width:.5rem;height:.5rem;border-bottom:2px solid rgba(148,163,184,.8);border-right:2px solid rgba(148,163,184,.8);transform:rotate(45deg);pointer-events:none}.toolbar-chip.hide{display:none}.toolbar-chip select{appearance:none}.toolbar-chip select.chip-input::-ms-expand{display:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:.75rem;border:1px solid rgba(88,117,167,.35);background:#172234e6;color:#dbeafe;transition:background .18s ease,border-color .18s ease,transform .18s ease}.icon-btn svg{width:1.05rem;height:1.05rem}.icon-btn:hover{background:#8b5cf62e;border-color:#8b5cf673}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn--danger{border-color:#ef444452;color:#fecaca}.icon-btn--danger:hover{background:#dc26262e;border-color:#f8717199}.icon-btn--primary{background:linear-gradient(135deg,#4f46e5,#0ea5e9);border:none;box-shadow:0 12px 28px #2563eb59;color:#f8fafc}.plans-status-bar .icon-btn--primary{width:40px;height:40px;border-radius:.85rem;box-shadow:0 16px 34px #2563eb61}.icon-btn--primary:hover{transform:translateY(-1px);box-shadow:0 18px 40px #0ea5e952}.chip-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:0 .85rem;border-radius:.75rem;border:1px solid rgba(88,117,167,.35);background:#172234eb;color:#dbeafe;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:background .18s ease,border-color .18s ease,transform .18s ease}.chip-btn:hover{background:#8b5cf62e;border-color:#8b5cf666;transform:translateY(-1px)}@media(max-width:600px){.plans-topbar__select{min-width:min(200px,100%)}.plans-status-bar__section--left{flex-wrap:wrap;gap:.6rem}.plans-status-bar__section--left .chip-btn{flex:1 1 100%;justify-content:center}.chip-btn{width:100%;justify-content:center}}body.plans-theme-minimal{background-color:#f3f4f6;color:#0f172a}body.plans-theme-minimal .plans-screen{background:linear-gradient(170deg,#f9fafc,#eef2ff 40%,#e0f2fe);color:#0f172a}body.plans-theme-minimal .plans-topbar{background:#f1f5ffeb;border-bottom:1px solid rgba(148,163,184,.35);box-shadow:0 18px 32px #94a3b838}body.plans-theme-minimal .plans-topbar__tabs{background:#ffffffe6;border-color:#94a3b859;box-shadow:inset 0 0 0 1px #94a3b826}body.plans-theme-minimal .plans-topbar__select label{color:#334155}body.plans-theme-minimal .plans-topbar__select select,body.plans-theme-minimal .plans-topbar__select input{border:1px solid rgba(148,163,184,.35);background:#ffffffeb;color:#0f172a;box-shadow:inset 0 0 0 1px #94a3b826}body.plans-theme-minimal .plans-topbar__select.is-filled label{color:#1d4ed8}body.plans-theme-minimal .plans-tab{color:#1f2937;background:#ffffffe6;border-color:#94a3b873;box-shadow:inset 0 1px 2px #94a3b82e}body.plans-theme-minimal .plans-tab:hover,body.plans-theme-minimal .plans-tab:focus-visible{color:#1d4ed8;background:#dbeafef5;border-color:#60a5fa8c}body.plans-theme-minimal .plans-tab.is-active{color:#1d4ed8;background:linear-gradient(120deg,#dbeafefa,#bfdbfef2);border-color:#3b82f6bf;box-shadow:0 14px 28px #94a3b852}body.plans-theme-minimal .plans-tab.is-active:after{background:linear-gradient(118deg,#bfdbfef2,#dbeafeeb);box-shadow:0 14px 24px #94a3b852}body.plans-theme-minimal .action-btn{border-color:#94a3b873;background:#bfdbfe8c;color:#1d4ed8}body.plans-theme-minimal .action-btn:not(:disabled):hover{background:#93c5fdbf;border-color:#3b82f699}body.plans-theme-minimal .ghost-btn{background:#ffffffeb;border-color:#94a3b866;color:#1f2937}body.plans-theme-minimal .ghost-btn:hover{background:#dbeafee6;border-color:#60a5fa80;color:#1d4ed8}body.plans-theme-minimal .plans-topbar__status{background:#e7f0fee6;border-color:#94a3b859;color:#1f2937}body.plans-theme-minimal .plans-topbar__status .status-dot{box-shadow:0 0 0 2px #e7f0fee6}body.plans-theme-minimal .plans-status-bar .plans-topbar__status{background:#e7f0feeb;border-color:#94a3b873;color:#1f2937;box-shadow:inset 0 1px #fff9}body.plans-theme-minimal .plans-status-bar .plans-topbar__status .status-dot{box-shadow:0 0 0 2px #e7f0feeb}body.plans-theme-minimal .plans-select-status{box-shadow:0 0 0 2px #e7f0fee6}body.plans-theme-minimal .plans-status-bar__zoom{background:#fffffff2;box-shadow:inset 0 1px #ffffffb3,0 8px 16px #94a3b826}body.plans-theme-minimal .plans-status-bar__zoom .ghost-btn{background:#f8fafcfa;border-color:#94a3b885;color:#1f2937}body.plans-theme-minimal .plans-status-bar__zoom .ghost-btn:hover{background:#dbeafee0;border-color:#60a5fa94;color:#1d4ed8}body.plans-theme-minimal .plans-status-bar__zoom .plans-zoom-label{background:#f1f5ffeb;color:#1e293b;box-shadow:inset 0 1px #fffc}body.plans-theme-minimal .plans-zoom-label{color:#1e293b}body.plans-theme-minimal .plans-topbar__panel{background:#fffffff5;border-color:#94a3b859;box-shadow:0 22px 40px #94a3b842}body.plans-theme-minimal .plans-topbar__panel.is-active:before{background:linear-gradient(118deg,#bfdbfee6,#dbeafee0);border-color:#94a3b866;box-shadow:0 12px 20px #94a3b847}body.plans-theme-minimal .plans-topbar__panel-placeholder{color:#475569}body.plans-theme-minimal .plans-status-bar{background:#f8fafcf5;border-top:1px solid rgba(148,163,184,.35);box-shadow:0 -18px 28px #94a3b82e}body.plans-theme-minimal .plans-stat span{color:#475569c7}body.plans-theme-minimal .plans-stat strong{color:#1f2937}body.plans-theme-minimal .plans-status-bar__section--left .plans-stat:not(:last-of-type):after{background:linear-gradient(180deg,#94a3b873,#94a3b814)}body.plans-theme-minimal .toolbar-chip{background:#fffffff2;border-color:#94a3b859;color:#0f172a}body.plans-theme-minimal .chip-input{color:#1f2937}body.plans-theme-minimal .chip-btn{background:#fffffff0;border-color:#94a3b859;color:#1f2937}body.plans-theme-minimal .chip-btn:hover{background:#dbeafed9;border-color:#60a5fa80}body.plans-theme-minimal .plans-meta{color:#475569}body.plans-theme-minimal .icon-btn{background:#fffffff0;border-color:#94a3b859;color:#1f2937}body.plans-theme-minimal .icon-btn:hover{background:#dbeafed9;border-color:#60a5fa8c}body.plans-theme-minimal .icon-btn--danger{color:#dc2626;border-color:#f8717173}body.plans-theme-minimal .plans-canvas-area{background:#e5e7eb}body.plans-theme-minimal .plans-canvas{background:#fff;border:1px solid rgba(148,163,184,.35);box-shadow:0 24px 40px #94a3b840}body.plans-theme-minimal .plans-side-panel{background:#fffffff5;border-left:1px solid rgba(148,163,184,.35);color:#0f172a}body.plans-theme-minimal .plans-side-panel__body .plans-detail-item{background:#f8fafcf2;border-color:#94a3b859;color:#1f2937}body.plans-theme-minimal .plans-side-panel__body .plans-detail-item.is-active{background:#dbeafed9;border-color:#3b82f680;color:#1d4ed8}body.plans-theme-minimal .plans-status-bar__section--right .icon-btn--primary{background:linear-gradient(135deg,#1d4ed8,#0284c7)}.form-field--inline label{font-size:.72rem;color:#94a3b8cc}.form-field--inline input,.form-field--inline select{padding:.42rem .75rem;border-radius:.75rem;border:1px solid rgba(37,99,235,.22);background:#0f172ae0;color:#f8fafc;font-size:.9rem}.form-field--inline input::placeholder{color:#94a3b8a6}.form-field--inline input:disabled,.form-field--inline select:disabled{opacity:.55}.plans-status-bar__group--opening{align-items:center}.plans-status-bar__group--opening .ghost-btn{padding:.4rem .9rem}.plans-status-bar__group--wall .form-field--inline,.plans-status-bar__group--opening .form-field--inline{flex:0 0 auto;min-width:96px}.plans-status-bar__group--wall .form-field--inline{max-width:150px}#plansSurfaceType,#plansSurfaceTypeText,#plansSurfaceHeight,#plansSurfaceSkjortStart{width:120px;min-width:0}.plans-status-bar__group--wall .form-field--inline select{min-width:0}.plans-status-bar__group--stats{row-gap:.2rem}.plans-status-bar__group--actions .ghost-btn{padding:.45rem .95rem}.plans-meta{font-size:.74rem;color:#cbd5e1d1}.primary-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:.95rem;border:none;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#f8fafc;box-shadow:0 20px 38px #4f46e559;transition:transform .18s ease,box-shadow .18s ease;padding:0}.primary-btn svg{width:1.35rem;height:1.35rem}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 28px 50px #0ea5e952}.primary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}@media(max-width:980px){.plans-topbar{flex-direction:column;align-items:stretch;gap:1rem}.plans-topbar__actions{justify-content:flex-start}.plans-toolbar{flex-direction:row;width:100%;height:auto;padding:.9rem 1.2rem;justify-content:flex-start;gap:.75rem}.plans-workspace{flex-direction:column}.plans-canvas-area{min-height:420px}.plans-side-panel{width:min(100%,360px)}}@media(max-width:600px){.plans-topbar__select{min-width:min(200px,100%)}.form-field--inline{min-width:100%}}.project-maintenance{margin-top:1.5rem;padding:1.35rem;border:1px solid rgba(15,23,42,.08);border-radius:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9eb);box-shadow:0 30px 60px #0f172a1f;display:flex;flex-direction:column;gap:1rem}.project-maint-tabs{display:flex;gap:.45rem;padding:.35rem;border-radius:999px;background:#0f172a0a;border:1px solid rgba(15,23,42,.08);box-shadow:inset 0 1px 4px #0f172a14}.project-maint-tab{flex:1;border:none;background:transparent;color:#475569;font-weight:600;font-size:.95rem;border-radius:999px;padding:.65rem 1.2rem;cursor:pointer;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.project-maint-tab:hover{color:#0f172a}.project-maint-tab:focus-visible{outline:2px solid rgba(37,99,235,.4);outline-offset:2px}.project-maint-tab.is-active{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;box-shadow:0 16px 28px #2563eb52}.project-maint-panel{margin-top:.2rem}.project-maint-panel[hidden]{display:none}@media(max-width:640px){.project-maint-tabs{flex-direction:column;border-radius:1rem;padding:.25rem}.project-maint-tab{width:100%}}.project-maint-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:1rem;padding:1.1rem 1.25rem;box-shadow:0 16px 32px #0f172a14;display:flex;flex-direction:column;gap:.9rem}.project-maint-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.project-maint-card__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.project-maint-card__head h4{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:#0f172a}.project-maint-card__head p{margin:0;font-size:.85rem;color:#6b7280}.project-maint-card__body{display:grid;gap:.8rem;min-height:80px}.project-maint-card__body--muted{color:#6b7280;font-size:.9rem}.project-pricing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 1rem;border:1px solid rgba(148,163,184,.4);border-radius:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9d9)}.project-pricing-toolbar__info{display:flex;flex-direction:column;gap:.25rem;min-width:200px}.project-pricing-summary{margin:0;font-size:.85rem;color:#64748b}.project-pricing-toolbar__action{flex:1;display:flex;justify-content:flex-end}.project-pricing-status{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;color:#475569;letter-spacing:.02em}.project-pricing-status__dot{width:10px;height:10px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 4px #94a3b840}.project-pricing-status[data-status=clean]{color:#15803d}.project-pricing-status[data-status=clean] .project-pricing-status__dot{background:#22c55e;box-shadow:0 0 0 4px #22c55e40}.project-pricing-status[data-status=dirty]{color:#b45309}.project-pricing-status[data-status=dirty] .project-pricing-status__dot{background:#f97316;box-shadow:0 0 0 4px #f9731640}.project-pricing-status[data-status=saving],.project-pricing-status[data-status=loading]{color:#1d4ed8}.project-pricing-status[data-status=saving] .project-pricing-status__dot,.project-pricing-status[data-status=loading] .project-pricing-status__dot{background:#60a5fa;box-shadow:0 0 0 4px #60a5fa40;animation:pricingStatusPulse 1.1s ease-in-out infinite}.project-pricing-status[data-status=error]{color:#dc2626}.project-pricing-status[data-status=error] .project-pricing-status__dot{background:#ef4444;box-shadow:0 0 0 4px #ef444440}@keyframes pricingStatusPulse{0%{transform:scale(1);opacity:1}70%{transform:scale(1.6);opacity:.35}to{transform:scale(1);opacity:1}}.project-pricing-search{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid rgba(148,163,184,.5);border-radius:999px;padding:.2rem .3rem .2rem .9rem;box-shadow:inset 0 1px 2px #0f172a0d}.project-pricing-search input{border:none;outline:none;font-size:.95rem;padding:.45rem 0;min-width:220px;background:transparent;color:#0f172a}.project-pricing-search input::placeholder{color:#94a3b8}.project-pricing-search__clear{border:none;background:#0f172a0f;width:32px;height:32px;border-radius:999px;font-size:1.2rem;color:#0f172a;cursor:pointer;transition:background .18s ease,color .18s ease}.project-pricing-search__clear:hover{background:#0f172a1f}@media(max-width:640px){.project-pricing-toolbar__action{width:100%;justify-content:stretch}.project-pricing-search{width:100%}.project-pricing-search input{min-width:0;width:100%}}.project-pricing-placeholder,.project-pricing-no-results{border:1px dashed rgba(148,163,184,.5);border-radius:1rem;padding:1.2rem;background:#f8fafc;text-align:center;color:#475569;font-size:.95rem}.project-pricing-no-results strong{display:block;margin-bottom:.35rem;color:#0f172a}.project-pricing-no-results .project-mini-btn{margin-top:.75rem}.project-pricing-body{overflow-x:auto}.project-pricing-table-wrap{overflow-x:auto;border:1px solid rgba(226,232,240,.9);border-radius:1rem;background:#fff}.project-pricing-table{width:100%;border-collapse:collapse;font-size:.9rem}.project-pricing-table th,.project-pricing-table td{border:1px solid #e2e8f0;padding:.4rem .5rem;text-align:center}.project-pricing-table th{background:#f8fafc;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.project-pricing-table thead th:first-child,.project-pricing-table tbody th{text-align:left;position:sticky;left:0;background:#fff;z-index:2;box-shadow:6px 0 12px #0f172a0f}.project-pricing-table input[type=number]{width:100%;border:none;border-radius:.4rem;padding:.3rem .35rem;font:inherit;text-align:right;background:transparent}.project-pricing-table input[type=number]:focus{outline:none}.project-pricing-table tbody tr:nth-child(2n){background:#f8fafc}.project-pricing-table tr.is-highlight{background:#2563eb0f}.project-pricing-table__empty td{padding:1.4rem;text-align:center;font-size:.92rem;color:#94a3b8}.project-pricing-input{position:relative;border:1px solid rgba(148,163,184,.6);border-radius:.7rem;background:#fff;box-shadow:inset 0 1px 2px #0f172a0d;transition:border-color .2s ease,box-shadow .2s ease}.project-pricing-input.is-dirty{border-color:#f97316d9;box-shadow:0 0 0 3px #f9731633}.project-pricing-input.is-dirty:after{content:"";position:absolute;width:6px;height:6px;border-radius:999px;background:#f97316;top:6px;left:6px}.project-pricing-single-list{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem}.project-pricing-single-title{font-size:.85rem;font-weight:600;color:#1f2937}.project-pricing-single{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .75rem;border:1px solid #e2e8f0;border-radius:.65rem;background:#f9fafb}.project-pricing-single.is-dirty{border-color:#f97316bf;box-shadow:0 10px 22px #f9731633}.project-pricing-single.is-highlight{border-color:#2563eb80;background:#eef2ff;box-shadow:0 12px 26px #3b82f633}.project-pricing-single strong{display:block;font-size:.95rem;color:#111827}.project-pricing-single-note{display:block;font-size:.78rem;color:#6b7280}.cell-note{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.plans-ceiling-list{display:grid;gap:.35rem}.plans-ceiling-select{width:100%;padding:.5rem .6rem;border-radius:.55rem;border:1px solid #e2e8f0;background:#fff;font:inherit}.plans-ceiling-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .65rem;border:1px solid #e2e8f0;border-radius:.55rem;background:#f8fafc;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.plans-ceiling-option input[type=radio]{accent-color:#2563eb}.plans-ceiling-option.is-active{border-color:#2563eb80;background:#eef2ff;box-shadow:0 10px 24px #3b82f629}.project-pricing-section{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.project-pricing-table--ceiling tbody th{text-transform:none;letter-spacing:normal;font-weight:600}.project-pricing-table--ceiling td[data-role=work]{text-align:left}.project-pricing-table--ceiling td[data-role=price]{min-width:170px}.project-pricing-table--ceiling td[data-role=price] .project-pricing-input{max-width:180px;margin-left:auto}.project-pricing-table--ceiling td[data-role=price] input[type=number]{text-align:right}.project-pricing-ceiling-note{display:block;margin-top:.15rem;font-size:.82rem;color:#6b7280;font-weight:400;text-transform:none;letter-spacing:normal}.project-pricing-single input[type=number]{width:130px;max-width:40%;border:1px solid rgba(148,163,184,.6);border-radius:.5rem;padding:.3rem;font:inherit;text-align:right}.project-pricing-single input[type=number]:focus{outline:2px solid rgba(37,99,235,.4);border-color:#2563eb99}.project-maint-meta{display:inline-block;margin-right:.6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.project-floor-item{border:1px solid rgba(148,163,184,.28);border-radius:.9rem;padding:.8rem .95rem;background:#f8fafc;display:flex;flex-direction:column;gap:.35rem;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-floor-item:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f614,#2563eb00);opacity:0;transition:opacity .2s ease;pointer-events:none}.project-floor-item:hover{border-color:#2563eb59;transform:translateY(-2px);box-shadow:0 10px 20px #0f172a1f}.project-floor-item:hover:after{opacity:1}.project-floor-item__headline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-floor-item__headline strong{font-size:1rem;color:#0f172a}.project-floor-item__actions{display:flex;gap:.45rem;flex-shrink:0;flex-wrap:wrap}.project-floor-item__meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.82rem;color:#475569}.project-floor-layer{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:1.5rem;z-index:1200}.project-floor-layer[hidden]{display:none}.project-floor-layer.is-visible{display:flex}.project-floor-layer__scrim{position:absolute;inset:0;background:#0f172a99;backdrop-filter:blur(8px)}.project-floor-panel{position:relative;width:min(680px,calc(100% - 32px));background:#fff;border-radius:1.4rem;padding:1.5rem;box-shadow:0 35px 65px #0f172a59;z-index:1;display:flex;flex-direction:column;gap:1rem}.project-floor-panel--narrow{width:min(420px,calc(100% - 32px))}.project-floor-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.project-floor-panel__eyebrow{margin:0 0 .15rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8}.project-floor-panel__title{margin:0;font-size:1.35rem;color:#0f172a}.project-floor-panel__close{border:none;background:#0f172a0f;width:38px;height:38px;border-radius:999px;font-size:1.35rem;color:#0f172a;cursor:pointer;transition:background .18s ease,color .18s ease}.project-floor-panel__close:hover:not(:disabled){background:#0f172a1f}.project-floor-panel__close:disabled{opacity:.5;cursor:not-allowed}.project-floor-form{display:flex;flex-direction:column;gap:1rem}.project-floor-form__grid{margin-top:.5rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.project-floor-form__hint{margin:0;font-size:.85rem;color:#6b7280}.project-floor-form__actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.project-floor-form__error,.project-floor-confirm__error{background:#ef444414;border:1px solid rgba(239,68,68,.4);color:#b91c1c;border-radius:.85rem;padding:.7rem 1rem;font-size:.9rem}.project-floor-confirm__text{margin:.2rem 0;font-size:.95rem;color:#1f2937}.project-floor-delete-btn{border:none;border-radius:.95rem;padding:.65rem 1.4rem;font-weight:600;background:linear-gradient(135deg,#f43f5e,#ef4444);color:#fff;box-shadow:0 15px 30px #ef444459;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.project-floor-delete-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 32px #ef444466}.project-floor-delete-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:560px){.project-floor-panel{padding:1.1rem;border-radius:1rem}.project-floor-form__actions{justify-content:stretch}.project-floor-form__actions button{flex:1}}.project-mini-btn{padding:.35rem .65rem;font-size:.8rem;border-radius:.55rem;border:1px solid rgba(37,99,235,.35);background:#2563eb1f;color:#1d4ed8;font-weight:500;transition:background .18s ease,border-color .18s ease,color .18s ease}.project-mini-btn:hover{background:#2563eb2e;border-color:#3b82f699}.project-mini-btn--danger{background:#f871711f;color:#dc2626;border:1px solid rgba(248,113,113,.35)}.project-mini-btn--danger:hover{background:#dc262633;border-color:#f871718c}@media(max-width:720px){.project-floor-item__headline{flex-direction:column;align-items:flex-start;gap:.45rem}.project-floor-item__actions{width:100%}}.plans-topbar__status{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;color:#d6e1ffe0;padding:.25rem .6rem;border-radius:.75rem;background:#1a2437d9;border:1px solid rgba(88,117,167,.35);flex:0 0 auto}.plans-topbar__status .status-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 2px #1a2437b3;transition:background .2s ease}.plans-topbar__status .status-label{white-space:nowrap}.plans-topbar__status.is-dirty .status-dot{background:#ef4444;box-shadow:0 0 0 2px #1a2437b3,0 0 0 4px #ef444440}.plans-topbar__status.is-disabled{opacity:.6}.plans-topbar__status.is-disabled .status-dot{background:#94a3b8}.plans-status-bar__zoom .ghost-btn:focus-visible{outline:2px solid rgba(96,165,250,.6);outline-offset:2px}.sheet-sign-dialog{max-width:860px}.sheet-sign-dialog,.sheet-sign-dialog *{-webkit-tap-highlight-color:transparent}#sheetSignModal{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#sheetSignModal input,#sheetSignModal textarea{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.sheet-sign-pad{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:linear-gradient(135deg,#fffffffa,#f4f7fbfa);border:1px solid rgba(15,23,42,.12);border-radius:.9rem;padding:.8rem;box-shadow:0 16px 32px #0f172a1f}.sheet-sign-pad__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-weight:600;color:#0f172a}.sheet-sign-pad__title-group{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.18rem}.sheet-sign-input-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;color:#475569;padding:.16rem .52rem;border-radius:.65rem;border:1px solid rgba(148,163,184,.45);background:#f8fafcf2}.sheet-sign-input-status__dot{width:8px;height:8px;border-radius:999px;background:#94a3b8}.sheet-sign-input-status[data-input=touch] .sheet-sign-input-status__dot{background:#0ea5e9}.sheet-sign-input-status[data-input=pen] .sheet-sign-input-status__dot{background:#22c55e}.sheet-sign-input-status[data-input=mouse] .sheet-sign-input-status__dot{background:#6366f1}.sheet-sign-input-status[data-input=gesture] .sheet-sign-input-status__dot{background:#f59e0b}.sheet-sign-pad__actions{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.sheet-sign-pad__actions .mini-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.sheet-sign-pad__actions .mini-btn.is-active,.sheet-sign-pad__actions .mini-btn[aria-pressed=true]{background:#0f172a;color:#f8fafc;border-color:#0f172ae6}#sheetSignModal .modal-body{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#sheetSignModal .modal-body input,#sheetSignModal .modal-body textarea{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.sheet-sign-canvas{width:100%;height:170px;border:1px dashed rgba(15,23,42,.25);border-radius:.8rem;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:inset 0 1px 2px #0f172a1f;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sheet-sign-loupe{position:absolute;left:0;top:0;width:136px;height:136px;border-radius:999px;overflow:hidden;pointer-events:none;border:1px solid rgba(15,23,42,.24);background:#ffffffeb;box-shadow:0 16px 28px #0f172a38;opacity:0;transform:translateZ(0) scale(.95);transition:opacity .12s ease,transform .12s ease;z-index:4}.sheet-sign-loupe.is-visible{opacity:1;transform:translateZ(0) scale(1)}.sheet-sign-loupe__canvas{width:100%;height:100%;display:block}#sheetSignModal.sheet-sign-modal--focus .sheet-sign-dialog{width:min(1180px,98vw);max-width:98vw}#sheetSignModal.sheet-sign-modal--focus .sheet-sign-canvas{height:min(56vh,460px)}#sheetSignModal.sheet-sign-modal--focus .sheet-sign-pad{padding:1rem}.sheet-sign-pad *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sheet-sign-hint{font-size:.82rem;color:#64748b}#sheetSignModal .form-field.is-invalid input,#sheetSignModal .form-field.is-invalid textarea,#sheetSignModal .form-field.is-invalid select{border-color:#b91c1c!important;box-shadow:0 0 0 3px #b91c1c24}.sheet-sign-field-error{min-height:1rem;margin-top:.22rem;font-size:.72rem;color:#b91c1c;line-height:1.2;visibility:hidden}.sheet-sign-field-error.is-visible{visibility:visible}.sheet-sign-error{margin-top:.5rem;color:#b91c1c;font-weight:600;display:none}.sheet-sign-error.is-visible{display:block}.sheet-sign-quality-panel{margin-top:.8rem;border:1px solid rgba(15,23,42,.12);border-radius:.75rem;background:linear-gradient(135deg,#fffffff5,#f3f8fcf5);padding:.6rem .7rem}.sheet-sign-quality-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sheet-sign-quality-panel__title{margin:0;font-size:.84rem;font-weight:700;color:#0f172a}.sheet-sign-quality-panel__metrics{margin-top:.45rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.42rem}.sheet-sign-quality-metric{border:1px solid rgba(148,163,184,.38);border-radius:.55rem;background:#f8fafceb;padding:.36rem .46rem}.sheet-sign-quality-metric__label{display:block;font-size:.69rem;color:#64748b;font-weight:600}.sheet-sign-quality-metric__value{display:block;margin-top:.08rem;font-size:.85rem;color:#0f172a;font-weight:700}@media(max-width:900px){.sheet-sign-pad__head{align-items:flex-start;flex-direction:column}.sheet-sign-pad__actions{width:100%;justify-content:flex-start}#sheetSignModal.sheet-sign-modal--focus .sheet-sign-canvas{height:min(50vh,360px)}}#hoursSection .sheet-head__center{position:absolute;left:50%;top:0;bottom:0;width:55%;transform:translate(-50%) translateY(-1px);display:flex;align-items:center;justify-content:center;font-size:1.08rem;font-weight:700;color:#0f172a;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1;pointer-events:none}body.bootstrap-failed{background:radial-gradient(circle at top,#f8fafc,#eef2ff 46%,#e2e8f0)}.bootstrap-failure{min-height:100vh;display:grid;place-items:center;padding:clamp(24px,6vw,64px)}.bootstrap-failure__panel{width:min(720px,100%);background:#fffffff0;border:1px solid rgba(148,163,184,.35);border-radius:18px;box-shadow:0 18px 48px #0f172a1f;padding:clamp(20px,4vw,34px)}.bootstrap-failure__title{margin:0;font-size:clamp(1.2rem,3.3vw,1.7rem);line-height:1.25;color:#0f172a}.bootstrap-failure__hint{margin:.7rem 0 0;color:#334155;font-size:.98rem}.bootstrap-failure__details{margin:1rem 0 0;border:1px solid rgba(148,163,184,.45);border-radius:12px;background:#f8fafc;color:#0f172a;padding:.75rem .85rem;font:600 .78rem/1.45 SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.bootstrap-failure__reload{margin-top:1rem;border:0;border-radius:11px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;font-weight:700;font-size:.93rem;padding:.62rem 1rem;cursor:pointer}.bootstrap-failure__reload:hover{filter:brightness(1.06)}
