:root{--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fs-2xs: .625rem;--fs-xs: .6875rem;--fs-sm: .75rem;--fs-md: .8125rem;--fs-lg: .875rem;--fs-xl: .9375rem;--fs-2xl: 1rem;--fs-3xl: 1.125rem;--fs-4xl: 1.375rem;--fs-5xl: 1.5rem;--fs-6xl: 2rem;--fs-display: clamp(2.5rem, 5vw, 4.5rem);--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--lh-none: 1;--lh-display: 1.05;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.45;--lh-relaxed: 1.6;--ls-normal: 0;--ls-wide: .02em;--ls-wider: .06em;--ls-widest: .1em;--space-3xs: 2px;--space-2xs: 4px;--space-xs: 6px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--radius-sm: 8px;--radius-md: 12px;--radius-pill: 999px;--control-height: 48px;--control-height-md: 44px;--control-height-sm: 40px;--control-height-xs: 36px;--content-width: 760px;--content-gutter: 12px;font-family:var(--font-sans);color:#162033;background:#f7fafc;font-synthesis:none;font-feature-settings:"cv02","cv03","cv04","cv11";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary: #1557b0;--primary-strong: #0d4189;--accent: #9bd23c;--border: #dbe5f1;--muted: #64748b;--surface: #ffffff;--surface-soft: #eef5ff;--danger: #c7362f;--warning: #a16207;--success: #047857}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100dvh;overflow-x:hidden;font-family:inherit;font-size:var(--fs-lg);line-height:var(--lh-normal)}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit}input,textarea,select{font-size:var(--fs-2xl)}button{-webkit-tap-highlight-color:transparent}.center-screen,.login-page{min-height:100dvh;display:grid;place-items:stretch;padding:0}.center-screen{gap:var(--space-md);color:var(--primary)}.login-page{grid-template-columns:minmax(0,1fr);background:#eef5ff}.login-panel{align-self:center;justify-self:center;width:min(calc(100% - (var(--content-gutter) * 2)),448px);padding:28px var(--space-xl) var(--space-2xl);border:1px solid rgba(219,229,241,.92);border-radius:var(--radius-sm);background:#fffffff0;box-shadow:0 22px 58px #0f172a29;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;z-index:1}.login-brand{display:block;position:relative;overflow:hidden;padding:48px;color:#fff;background-color:var(--primary);background-position:center;background-size:cover}@media(max-width:899px){.login-brand{position:fixed;inset:-2px;padding:0;opacity:.62;pointer-events:none}.login-brand-overlay{background:linear-gradient(180deg,#eef5ffb3,#eef5ff94),#1557b02e;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px)}.login-brand-copy,.login-proof{display:none}}.login-brand-overlay{position:absolute;inset:0;background:#1557b0d1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.login-brand-copy,.login-proof{position:relative;z-index:1}.login-brand-copy h1{max-width:560px;margin:0 0 var(--space-lg);font-size:var(--fs-display);line-height:var(--lh-display)}.login-brand-copy h1 span{display:block;color:var(--accent);font-style:italic;font-weight:var(--fw-bold)}.login-brand-copy p{max-width:470px;color:#ffffffd1;font-size:var(--fs-3xl);line-height:var(--lh-relaxed)}.login-proof{align-self:end;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:1px solid rgba(219,229,241,.72);border-radius:var(--radius-sm);background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-proof div{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--accent);color:#173015}.login-proof span{display:grid;gap:var(--space-3xs);color:#1f3f67;font-size:var(--fs-xl)}.login-proof strong{color:#0d4189;font-size:var(--fs-2xl)}.login-logo-wrap{display:flex;justify-content:center;margin-bottom:var(--space-2xl)}.login-logo{width:auto;height:64px;object-fit:contain}.login-panel .form-stack{text-align:left}.login-panel h1{margin:0 0 var(--space-sm);color:#162033;font-size:var(--fs-5xl)}.login-panel .muted{margin-bottom:0}.login-panel:after{content:"© 2026 SafePass • Todos os direitos reservados";display:block;margin-top:var(--space-2xl);color:#64748b;font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:var(--ls-wider);text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin:var(--space-lg) 0 var(--space-xs);font-size:var(--fs-6xl);line-height:var(--lh-display)}h2{margin-bottom:var(--space-xs);font-size:var(--fs-4xl)}h3{margin-bottom:var(--space-md);font-size:var(--fs-3xl)}.muted{color:var(--muted)}.form-stack,.page-stack{display:grid;gap:var(--space-md)}.form-stack{margin-top:var(--space-2xl)}.form-stack label,.field{display:grid;gap:var(--space-xs);color:#243044;font-size:var(--fs-lg);font-weight:var(--fw-semibold)}input,textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:#162033;outline:none}input{min-height:var(--control-height);padding:0 var(--space-md)}textarea{resize:vertical;min-height:108px;padding:var(--space-md) var(--space-md)}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1557b024}input:disabled,textarea:disabled{color:#64748b;background:#f1f5f9}.password-field{position:relative}.password-field input{padding-right:50px}.password-field input::-ms-reveal,.password-field input::-ms-clear{display:none}.password-field button{position:absolute;top:50%;right:5px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:#64748b;cursor:pointer;transform:translateY(-50%)}.password-field button:hover,.password-field button:focus-visible{color:var(--primary);background:#1557b014;outline:none}.primary-button,.text-button,.icon-button,.type-card,.section-nav button,.mobile-menu button,.company-logo-button,.account-trigger,.account-dropdown button,.permit-card{border:0;cursor:pointer}.primary-button{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:0 var(--space-lg);border-radius:var(--radius-sm);background:var(--primary);color:#fff;font-weight:var(--fw-extrabold);box-shadow:0 12px 24px #1557b038}.primary-button:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.text-button{width:fit-content;min-height:var(--control-height-sm);display:inline-flex;align-items:center;gap:var(--space-sm);padding:0;background:transparent;color:var(--primary);font-weight:var(--fw-extrabold)}.topbar-back-button{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:var(--radius-sm);background:transparent;color:#25476f;cursor:pointer}.topbar-back-button:hover,.topbar-back-button:focus-visible{background:#eef5ff;outline:none}.detail-back-button{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;margin-left:calc(var(--space-2xs) * -1);border:0;border-radius:var(--radius-sm);background:transparent;color:#25476f;cursor:pointer}.detail-back-button:hover,.detail-back-button:focus-visible{background:#eef5ff;outline:none}.permit-back-button{width:100%;min-height:var(--control-height-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:0 var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;color:var(--primary);font-size:var(--fs-lg);font-weight:var(--fw-extrabold);box-shadow:0 8px 18px #0f172a0d;cursor:pointer}.permit-back-button:hover,.permit-back-button:focus-visible{background:var(--surface-soft);outline:none}.icon-button{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-sm);background:transparent;color:inherit}.icon-button.bordered{border:1px solid var(--border);background:#fff;color:var(--primary)}.topbar-logo{width:96px;max-width:28vw;height:34px;object-fit:contain;flex:0 0 auto}.grow{flex:1 1 auto}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100dvh;background:#f7fafc}.topbar{position:sticky;top:0;z-index:10;min-height:calc(84px + env(safe-area-inset-top));display:flex;align-items:center;gap:var(--space-sm);padding:env(safe-area-inset-top) max(var(--space-sm),env(safe-area-inset-right)) var(--space-md) max(var(--space-sm),env(safe-area-inset-left));border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.company-logo-button{width:min(104px,30vw);min-width:78px;height:42px;display:flex;align-items:center;justify-content:flex-start;padding:var(--space-2xs) 0;background:transparent}.topbar-title{min-width:0;display:grid;flex:1;gap:0}.topbar-title strong,.topbar-title span,.topbar-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title span{color:#334155;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.topbar-title small{color:#64748b;font-size:var(--fs-2xs);font-weight:var(--fw-regular);line-height:var(--lh-tight)}.account-menu{position:relative;flex:0 0 auto}.account-trigger{min-width:48px;height:44px;display:flex;align-items:center;justify-content:center;gap:var(--space-3xs);padding:0 var(--space-2xs);border-radius:var(--radius-sm);background:transparent;color:#334155}.account-trigger:hover,.account-trigger:focus-visible{color:var(--primary);background:#f8fafc;outline:none}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:202px;display:grid;gap:0;padding:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;box-shadow:0 18px 42px #0f172a2e}.account-avatar{width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border:2px solid #e2e8f0;border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--primary);font-size:var(--fs-md);font-weight:var(--fw-extrabold)}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-dropdown button{min-height:56px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:var(--space-md);padding:0 var(--space-lg);border-radius:0;background:transparent;color:#0f172a;font-size:var(--fs-lg);font-weight:var(--fw-bold);text-align:left}.account-dropdown button:hover,.account-dropdown button:focus-visible{color:#0f172a;background:#f8fafc;outline:none}.account-dropdown-title{padding:var(--space-md) var(--space-lg) var(--space-md);border-bottom:1px solid #eef2f7;color:#29425f;font-size:var(--fs-sm);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-wider)}.account-dropdown-separator{height:1px;background:#eef2f7}.account-dropdown button>svg{width:28px;height:28px;padding:var(--space-xs);border-radius:var(--radius-sm)}.account-dropdown-item.password>svg{color:#2563eb;background:#dbeafe}.account-dropdown-item.photo>svg{color:#059669;background:#d1fae5}.account-dropdown-item.logout{color:#dc2626}.account-dropdown-item.logout:hover,.account-dropdown-item.logout:focus-visible{color:#b91c1c;background:#fff7f7}.account-dropdown-item.logout>svg{color:#e11d48;background:#ffe4e6}.logged-user-card{width:min(100% - (var(--content-gutter) * 2),var(--content-width));display:grid;grid-template-columns:52px minmax(0,1fr);gap:var(--space-md);align-items:center;margin:var(--space-md) auto 0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffeb;box-shadow:0 10px 26px #0f172a12}.user-avatar{width:52px;height:52px;display:grid;place-items:center;overflow:hidden;border:2px solid #e2e8f0;border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--primary);font-weight:var(--fw-extrabold)}.user-avatar img{width:100%;height:100%;object-fit:cover}.logged-user-info{min-width:0;display:grid;gap:var(--space-3xs)}.logged-user-info strong,.logged-user-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logged-user-info strong{color:#162033;font-size:var(--fs-2xl)}.logged-user-info span{color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-bold)}.account-message-wrap{width:min(100% - (var(--content-gutter) * 2),var(--content-width));margin:var(--space-sm) auto 0}.mobile-menu{display:grid;gap:var(--space-md);margin:var(--space-sm) var(--space-md) 0;padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:0 16px 34px #0f172a1f}.mobile-menu div{display:grid;gap:var(--space-3xs)}.mobile-menu span{color:var(--muted);font-size:var(--fs-lg)}.mobile-menu button{min-height:var(--control-height-md);border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--primary);font-weight:var(--fw-extrabold)}.content{width:min(100%,var(--content-width));margin:0 auto;padding:var(--space-lg) var(--content-gutter) calc(var(--space-2xl) + env(safe-area-inset-bottom))}.action-row{display:flex;gap:var(--space-sm)}.list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:var(--space-sm);align-items:center}.list-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.summary-chip{min-width:0;min-height:var(--control-height-md);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);border:1px solid;border-radius:var(--radius-sm);background:#fff;cursor:pointer;text-align:left;box-shadow:0 8px 20px #0f172a0d}.summary-chip:disabled{cursor:default}.summary-chip.active{box-shadow:0 8px 20px #0f172a0f,0 0 0 2px #1557b01f}.summary-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.summary-chip strong{min-width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-pill);background:#fff;font-size:var(--fs-xs);font-weight:var(--fw-extrabold)}.summary-chip.acceptance{border-color:#fde68a;background:#fffbeb;color:#92400e}.summary-chip.acceptance strong{color:#92400e;box-shadow:inset 0 0 0 1px #fde68a}.summary-chip.expired{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.summary-chip.expired strong{color:#b91c1c;box-shadow:inset 0 0 0 1px #fecaca}.search-field{min-height:var(--control-height);display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--muted)}.search-field input{min-height:var(--control-height-md);padding:0;border:0;box-shadow:none}.new-permit-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:25;width:58px;height:58px;display:grid;place-items:center;border:0;border-radius:var(--radius-pill);background:var(--primary);color:#fff;box-shadow:0 18px 36px #1557b052;cursor:pointer;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.new-permit-fab:hover,.new-permit-fab:focus-visible{background:var(--primary-strong);box-shadow:0 20px 42px #1557b061;outline:none}.new-permit-fab.hidden{opacity:0;pointer-events:none;transform:translateY(92px) scale(.9)}.status-filter-row{display:flex;gap:var(--space-sm);margin-inline:calc(var(--content-gutter) * -1);padding:var(--space-3xs) var(--space-md) var(--space-2xs);overflow-x:auto;scroll-padding:12px;scrollbar-width:none}.status-filter-row::-webkit-scrollbar{display:none}.status-filter-chip{min-height:var(--control-height-sm);flex:0 0 auto;padding:0 var(--space-md);border:1px solid rgba(203,213,225,.82);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffffff5,#f8fafcf5);color:#334155;font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);white-space:nowrap;cursor:pointer;box-shadow:0 8px 18px #0f172a0d,inset 0 1px #ffffffe6;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease}.status-filter-chip.active{border-color:#1557b073;background:linear-gradient(180deg,#eaf2fffa,#dbeafef5);color:var(--primary);box-shadow:0 10px 24px #1557b01f,0 0 0 2px #1557b01a,inset 0 1px #fffffff2}.status-filter-chip:hover,.status-filter-chip:focus-visible{transform:translateY(-1px);border-color:#1557b073;color:var(--primary);box-shadow:0 12px 26px #0f172a14,inset 0 1px #fffffff2;outline:none}.status-filter-chip:active{transform:translateY(0) scale(.98)}.card-list{display:grid;gap:var(--space-md)}.permit-card,.panel,.detail-header,.empty-state,.photo-card,.acceptance-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 10px 26px #0f172a12}.permit-card{width:100%;display:grid;gap:var(--space-md);padding:var(--space-md);color:inherit;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.permit-card:hover,.permit-card:focus-visible{border-color:#1557b03d;box-shadow:0 14px 32px #0f172a1a;outline:none}.permit-card:active{transform:scale(.99)}.card-main-row,.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.card-main-row div,.detail-header-main{min-width:0;display:grid;gap:var(--space-3xs)}.card-main-row strong,.detail-header strong{font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.permit-card-heading strong{color:#0f172a;font-size:var(--fs-2xl);font-weight:var(--fw-extrabold)}.card-main-row span,.detail-header span:not(.status){color:var(--muted);font-size:var(--fs-lg);font-weight:var(--fw-regular)}.detail-title-row,.detail-type-row{min-width:0;display:flex;align-items:center}.detail-title-row{gap:var(--space-xs)}.detail-title-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-type-row{gap:var(--space-xs);flex-wrap:wrap;padding-left:0}.detail-type-row>svg{flex:0 0 auto}.permit-type-label{display:inline-flex;align-items:center;gap:var(--space-xs);min-width:0;font-size:var(--fs-md);font-weight:var(--fw-regular)}.permit-card-meta-row{display:flex;align-items:center;gap:var(--space-xs);min-width:0;margin-top:calc(var(--space-2xs) * -1)}.relation-pill,.principal-reference{display:inline-flex;align-items:center;max-width:100%;border-radius:var(--radius-pill);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-2xs);font-weight:var(--fw-medium);line-height:var(--lh-none)}.relation-pill{padding:var(--space-2xs) var(--space-xs);border:1px solid #e2e8f0;color:#64748b;background:#f8fafc}.relation-pill.principal{color:#047857;border-color:#d1fae5;background:#f0fdf4}.relation-pill.related{color:#1d4ed8;border-color:#dbeafe;background:#eff6ff}.principal-reference{min-width:0;padding:var(--space-2xs) 0;color:#94a3b8;font-family:var(--font-mono)}.permit-card-type-icon{flex:0 0 auto}.permit-card-type-icon.sky{color:#0ea5e9}.permit-card-type-icon.orange{color:#f97316}.permit-card-type-icon.slate{color:#64748b}.permit-card-type-icon.yellow{color:#eab308}.permit-card-type-icon.indigo{color:#6366f1}.permit-card-type-icon.emerald{color:#10b981}.permit-card-type-icon.primary{color:var(--primary)}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.info{min-width:0;display:grid;gap:var(--space-3xs);padding:var(--space-sm);border-radius:var(--radius-sm);background:#f8fafc}.info span{color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-medium);text-transform:uppercase}.info strong{min-width:0;overflow-wrap:anywhere;font-size:var(--fs-md);font-weight:var(--fw-regular)}.process-info{min-width:0;display:grid;gap:var(--space-3xs);grid-column:1 / -1;padding:var(--space-sm);border:1px solid #e2e8f0;border-radius:var(--radius-sm);background:#f8fafc}.process-info span{color:#64748b;font-size:var(--fs-2xs);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-widest);text-transform:uppercase}.process-info strong,.process-info small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.process-info strong{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.process-info small{color:#64748b;font-size:var(--fs-xs);font-weight:var(--fw-regular)}.process-info.expired,.process-info.active{border-color:#bae6fd;background:#f0f9ff}.process-info.expired strong,.process-info.active strong{color:#075985}.process-info.done{border-color:#99f6e4;background:#f0fdfa}.process-info.done span,.process-info.done strong{color:#0f766e}.process-info.cancelled{border-color:#fecdd3;background:#fff1f2}.process-info.cancelled span,.process-info.cancelled strong{color:#be123c}.info.good strong{color:var(--success)}.info.bad strong{color:var(--danger)}.info.warn strong{color:var(--warning)}.status{max-width:140px;flex:0 0 auto;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);overflow-wrap:anywhere;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-align:center;text-transform:uppercase}.status.draft{color:#854d0e;background:#fef3c7}.status.analysis{color:#1d4ed8;background:#dbeafe}.status.approved{color:#047857;background:#d1fae5}.status.rejected,.status.cancelled{color:#b91c1c;background:#fee2e2}.status.expired{color:#475569;background:#e2e8f0}.status.done{color:#0f766e;background:#ccfbf1}.status.neutral{color:#334155;background:#e2e8f0}.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.type-card{min-height:94px;display:grid;align-content:center;justify-items:start;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:#1e293b;text-align:left}.type-card.selected{border-color:var(--primary);background:var(--surface-soft);color:var(--primary);box-shadow:0 0 0 3px #1557b01f}.new-permit-shell{display:grid;gap:var(--space-md)}.new-permit-panel{display:grid;gap:var(--space-xl);padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:0 18px 44px #0f172a1f}.new-permit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.new-permit-header h2{margin:0;color:#0f172a;font-size:var(--fs-4xl)}.new-permit-header p{margin:var(--space-xs) 0 0;color:var(--muted);font-size:var(--fs-lg);line-height:var(--lh-normal)}.new-permit-close{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:var(--radius-pill);background:transparent;color:#64748b;cursor:pointer}.new-permit-close:hover,.new-permit-close:focus-visible{background:#f1f5f9;color:#0f172a;outline:none}.permit-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.permit-type-card{min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-sm);border:2px solid #f1f5f9;border-radius:var(--radius-sm);background:#fff;color:#334155;cursor:pointer;text-align:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.permit-type-card:hover,.permit-type-card:focus-visible{border-color:var(--primary);background:#1557b00d;color:var(--primary);outline:none}.permit-type-card:active{transform:scale(.98)}.permit-type-card:disabled{cursor:wait;opacity:.62}.permit-type-card span{max-width:100%;overflow-wrap:anywhere;color:inherit;font-weight:var(--fw-bold)}.permit-type-icon{transition:transform .18s ease}.permit-type-card:hover .permit-type-icon,.permit-type-card:focus-visible .permit-type-icon{transform:scale(1.08)}.permit-type-icon.sky{color:#0ea5e9}.permit-type-icon.orange{color:#f97316}.permit-type-icon.slate{color:#64748b}.permit-type-icon.yellow{color:#eab308}.permit-type-icon.indigo{color:#6366f1}.permit-type-icon.emerald{color:#10b981}.permit-type-icon.primary{color:var(--primary)}.new-permit-back{justify-self:start;margin-top:calc(var(--space-2xs) * -1)}.detail-header{padding:var(--space-md) var(--space-md);box-shadow:0 8px 20px #0f172a0d}.acceptance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.acceptance-strip span{min-height:var(--control-height-md);display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:#334155;font-size:var(--fs-md);font-weight:var(--fw-extrabold);text-align:center}.section-nav{display:flex;gap:var(--space-sm);margin-inline:calc(var(--content-gutter) * -1);padding:var(--space-3xs) var(--space-md) var(--space-xs);border:0;border-radius:0;background:transparent;overflow-x:auto;scroll-padding:12px;scrollbar-width:none;box-shadow:none}.permit-section-nav{margin-top:calc(var(--space-2xs) * -1);margin-bottom:var(--space-3xs)}.section-nav::-webkit-scrollbar{display:none}.section-nav button{min-height:var(--control-height-sm);flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;color:#38536f;font-size:var(--fs-md);font-weight:var(--fw-semibold);white-space:nowrap;box-shadow:0 4px 10px #0f172a09}.section-nav button.selected{border-color:#25476f;background:#25476f;color:#fff;font-weight:var(--fw-bold);box-shadow:0 8px 18px #25476f2e}.section-nav button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.panel{display:grid;gap:var(--space-md);padding:var(--space-md)}.panel h3{margin-bottom:var(--space-xs);color:#1e2f45;font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.conclusion-description{align-items:start}.conclusion-description strong{white-space:pre-wrap}.conclusion-section-stack{display:grid;gap:var(--space-md)}.conclusion-card{display:grid;gap:var(--space-md);padding:var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;box-shadow:0 6px 16px #0f172a0a}.conclusion-card h4{margin:0;color:#172033;font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.conclusion-choice-grid{display:grid;gap:var(--space-sm)}.conclusion-choice-grid button{display:grid;gap:var(--space-xs);padding:var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;color:#172033;text-align:left}.conclusion-choice-grid button.selected{border-color:#25476f;background:#eef5ff;box-shadow:0 0 0 1px #25476f29}.conclusion-choice-grid button:disabled,.conclusion-radio-row button:disabled,.residue-grid button:disabled{cursor:not-allowed;opacity:.72}.conclusion-choice-grid span{font-size:var(--fs-lg);font-weight:var(--fw-semibold);text-transform:uppercase}.conclusion-choice-grid small{color:#64748b;font-size:var(--fs-md);font-weight:var(--fw-regular);line-height:var(--lh-normal)}.conclusion-info-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.character-counter{justify-self:end;color:#64748b;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.conclusion-question{margin:0;color:#243044;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.conclusion-radio-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.conclusion-radio-row button{min-height:var(--control-height-xs);padding:0 var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;color:#38536f;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.conclusion-radio-row button.selected,.residue-grid button.selected{border-color:#25476f;background:#eef5ff;color:#25476f}.residue-stack{display:grid;gap:var(--space-md)}.residue-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.residue-grid button{min-height:var(--control-height-md);display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-sm);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;color:#243044;font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:left}.conclusion-attention{display:flex;gap:var(--space-sm);padding:var(--space-md);border:1px solid #fbbf24;border-radius:var(--radius-sm);background:#fffbeb;color:#7c4a03}.conclusion-attention svg{flex:0 0 auto;margin-top:0}.conclusion-attention div{display:grid;gap:var(--space-3xs)}.conclusion-attention strong{font-size:var(--fs-sm);font-weight:var(--fw-extrabold);text-transform:uppercase}.conclusion-attention span{font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:var(--lh-normal)}.expiration-info{display:grid;gap:var(--space-2xs)}.expiration-info>span{color:#243044;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.expiration-box{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff}.expiration-box.expired{border-color:#ff5a5f;background:#fff1f1;box-shadow:inset 4px 0 #ff3131}.expiration-box div{min-width:0;display:grid;gap:var(--space-2xs)}.expiration-box strong{color:#1f2937;font-size:var(--fs-lg);font-weight:var(--fw-bold)}.expiration-box.expired strong,.expiration-box.expired small{color:#e00000}.expiration-box small{color:#047857;font-size:var(--fs-xs);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-normal)}.expiration-progress{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:3px solid #0ea5e9;border-radius:var(--radius-pill);background:#e0f2fe;color:#0284c7;font-size:var(--fs-2xs);font-weight:var(--fw-extrabold)}.checklist-editor{display:grid;gap:var(--space-md)}.checklist-progress-card{display:grid;gap:var(--space-xs);padding:var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff}.checklist-progress-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.checklist-progress-head span,.checklist-progress-card small{color:#64748b;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.checklist-progress-head strong{color:#25476f;font-size:var(--fs-lg);font-weight:var(--fw-extrabold)}.checklist-progress-track{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:#e2e8f0}.checklist-progress-track span{height:100%;display:block;border-radius:inherit;background:#25476f;transition:width .18s ease}.checklist-tab-row,.checklist-subtab-row{display:flex;gap:var(--space-sm);margin-inline:calc(var(--space-md) * -1);padding:0 var(--space-md) var(--space-2xs);overflow-x:auto;scrollbar-width:none}.checklist-tab-row::-webkit-scrollbar,.checklist-subtab-row::-webkit-scrollbar{display:none}.checklist-tab-row button,.checklist-subtab-row button{min-height:var(--control-height-sm);display:inline-flex;align-items:center;gap:var(--space-xs);flex:0 0 auto;padding:0 var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;color:#38536f;font-size:var(--fs-md);font-weight:var(--fw-semibold);white-space:nowrap}.checklist-tab-row button strong,.checklist-subtab-row button strong{color:#64748b;font-size:var(--fs-xs);font-weight:var(--fw-extrabold)}.checklist-tab-row button.selected,.checklist-subtab-row button.selected{border-color:#25476f;background:#25476f;color:#fff}.checklist-tab-row button.selected strong,.checklist-subtab-row button.selected strong{color:#ffffffd1}.checklist-item-list{display:grid;gap:var(--space-sm)}.checklist-item-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff}.checklist-item-text{display:grid;gap:var(--space-2xs)}.checklist-item-text strong{color:#172033;font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.checklist-item-text span{width:fit-content;padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:#eff6ff;color:#2563eb;font-size:var(--fs-2xs);font-weight:var(--fw-bold)}.checklist-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xs)}.checklist-options button{min-height:var(--control-height-xs);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#f8fafc;color:#38536f;font-size:var(--fs-sm);font-weight:var(--fw-bold)}.checklist-options button.selected{border-color:#25476f;background:#25476f;color:#fff}.checklist-options button:disabled{cursor:not-allowed;opacity:.68}.related-permit-list{display:grid;gap:var(--space-sm)}.related-permit-card{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm);border:1px solid #dbe5f1;border-radius:var(--radius-sm);background:#fff;color:inherit;text-align:left;box-shadow:0 4px 12px #0f172a09}.related-permit-card:focus-visible,.related-permit-card:hover{border-color:#1557b047;outline:none}.related-permit-main{min-width:0;display:flex;align-items:center;gap:var(--space-sm)}.related-permit-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-sm);background:#f8fafc}.related-permit-main div{min-width:0;display:grid;gap:var(--space-3xs)}.related-permit-main strong,.related-permit-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-permit-main strong{color:#172033;font-size:var(--fs-xl);font-weight:var(--fw-bold)}.related-permit-main span{color:#64748b;font-size:var(--fs-sm);font-weight:var(--fw-regular)}.related-permit-meta{display:flex;align-items:center;gap:var(--space-xs);flex:0 0 auto}.alert{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) var(--space-md);border-radius:var(--radius-sm);font-weight:var(--fw-bold)}.alert.error{color:#991b1b;background:#fee2e2}.alert.warn{color:#854d0e;background:#fef3c7}.permit-detail-lock-alert{align-items:center;gap:var(--space-xs);width:fit-content;max-width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid #fde68a;border-radius:var(--radius-sm);background:#fffbeb;color:#8a5a0a;font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug);box-shadow:none}.permit-detail-lock-alert svg{flex:0 0 auto}.alert.success{color:#065f46;background:#d1fae5}.inline-loading,.empty-state{display:grid;place-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);color:var(--muted);text-align:center}.empty-state strong{color:#334155}.info-list,.acceptance-list,.photo-list{display:grid;gap:var(--space-sm)}.acceptance-card{display:grid;gap:var(--space-sm);padding:var(--space-md)}.acceptance-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.acceptance-card p{margin:0;color:#334155}.simple-record-list{display:grid;gap:var(--space-sm)}.simple-record-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;box-shadow:0 8px 20px #0f172a0d}.simple-record-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.simple-record-card>div:first-child div,.simple-record-card>div:first-child{min-width:0}.simple-record-card strong{color:#162033;font-size:var(--fs-xl)}.simple-record-card span{color:var(--muted);font-size:var(--fs-md)}.simple-record-card p{margin:0;color:#334155;font-size:var(--fs-md)}.photo-card{display:grid;grid-template-columns:74px minmax(0,1fr);gap:var(--space-md);align-items:center;padding:var(--space-sm)}.photo-card img,.photo-card>svg{width:74px;height:74px;border-radius:var(--radius-sm);object-fit:cover;color:var(--primary);background:#eaf2ff}.photo-card div{min-width:0;display:grid;gap:var(--space-2xs)}.photo-card strong,.photo-card span{overflow-wrap:anywhere}.photo-card span{color:var(--muted);font-size:var(--fs-lg)}@media(min-width:680px){.content{padding-top:var(--space-xl)}.page-stack{gap:var(--space-lg)}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.login-page{grid-template-columns:minmax(0,1fr) minmax(420px,1fr)}.login-brand{min-height:100dvh;display:grid;align-content:space-between}}@media(max-width:899px){.login-brand-overlay{background:linear-gradient(180deg,#eef5ffb3,#eef5ff94),#1557b02e;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px)}}@media(max-width:390px){.card-grid,.acceptance-strip,.type-grid{grid-template-columns:1fr}.status{max-width:112px;font-size:var(--fs-2xs)}}
