.app-frame{min-height:100vh;background:var(--surface-page)}.app-workspace{min-width:0;flex:1}.app-main{width:min(100%,1440px);margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}.contract-notice{max-width:760px;margin:3rem auto;padding:2rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.contract-notice h1{margin-bottom:.75rem;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.035em}.contract-notice p{color:var(--text-muted);line-height:1.65}:root{color-scheme:light;--surface-page: #f5f6f7;--surface: #ffffff;--surface-muted: #f0f2f3;--text: #20262d;--text-muted: #626c76;--border: #dce1e5;--focus: #1769aa;--danger: #a32929;--success: #246340;--warning: #77550c;--radius: .7rem;--shadow: 0 12px 35px rgb(24 34 44 / 12%)}*{box-sizing:border-box}html{min-width:320px;background:var(--surface-page)}body{margin:0;color:var(--text);background:var(--surface-page);font:400 15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a{color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.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}.muted,.form-field small{color:var(--text-muted)}.shell-layout{min-height:100vh;display:flex}.sidebar{width:250px;flex:0 0 250px;padding:1.25rem 1rem;background:var(--surface);border-right:1px solid var(--border)}.sidebar-brand{padding:.5rem .75rem 1.5rem;font-weight:700}.sidebar-group{display:grid;gap:.25rem;margin-bottom:1.25rem}.sidebar-group h2{margin:.6rem .4rem;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.sidebar-group a{padding:.55rem .65rem;border-radius:.5rem;text-decoration:none}.sidebar-group a.active,.sidebar-group a:hover{background:var(--surface-muted)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:0 1.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.topbar-label{color:var(--text-muted)}.topbar-actions,.button-row{display:flex;align-items:center;gap:.6rem}.button{min-height:40px;padding:.55rem .9rem;border:1px solid transparent;border-radius:.55rem;background:#30363d;color:#fff;font-weight:600}.button-secondary{color:var(--text);background:var(--surface);border-color:var(--border)}.button-quiet{color:var(--text);background:transparent;border-color:var(--border)}.button-danger{background:var(--danger)}button kbd{margin-left:.5rem;font-size:.75rem}.field-input{width:100%;min-height:42px;padding:.6rem .7rem;border:1px solid var(--border);border-radius:.5rem;color:var(--text);background:var(--surface)}.field-textarea{min-height:110px;resize:vertical}.form-field{display:grid;gap:.4rem;margin:.8rem 0}.form-field label,.money-input>span:first-child{font-weight:600}.field-error{color:var(--danger)!important}.money-input{display:grid;gap:.4rem}.money-input-control{display:flex;align-items:center;gap:.5rem}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.8rem 1rem;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-size:.78rem}.badge{display:inline-flex;padding:.2rem .55rem;border-radius:999px;background:var(--surface-muted);font-size:.78rem}.badge-success{color:var(--success)}.badge-danger{color:var(--danger)}.badge-warning{color:var(--warning)}.empty-state,.error-panel{padding:2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:start center;padding:12vh 1rem 1rem;background:#12171c7a}.dialog{position:relative;width:min(100%,560px);padding:1.5rem;border-radius:1rem;background:var(--surface);box-shadow:var(--shadow)}.dialog-close{position:absolute;top:.8rem;right:.8rem;border:0;background:transparent;font-size:1.5rem}.palette{padding-top:1.25rem}.palette-results{padding:0;list-style:none}.palette-results button{width:100%;padding:.75rem;border:0;border-radius:.4rem;text-align:left;background:transparent}.palette-results button:hover{background:var(--surface-muted)}.confirm-panel{max-width:480px;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.toast{position:fixed;right:1rem;bottom:1rem;z-index:12;display:flex;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.file-drop{display:grid;gap:.75rem;padding:1.25rem;border:1px dashed var(--border);border-radius:var(--radius)}.tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--border)}.tabs button{padding:.65rem .9rem;border:0;border-bottom:2px solid transparent;background:none}.tabs button[aria-selected=true]{border-color:var(--focus);font-weight:700}.skeleton-stack{display:grid;gap:.8rem}.skeleton-row{height:48px;border-radius:.5rem;background:var(--surface-muted);animation:pulse 1.4s ease-in-out infinite alternate}.embed-shell{padding:1rem}@keyframes pulse{to{opacity:.55}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}@media (max-width: 760px){.shell-layout{display:block}.sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border)}.sidebar-group{display:flex;flex-wrap:wrap;align-items:center}.sidebar-group h2{width:100%}.topbar{padding:0 1rem}.topbar-label{display:none}}@media print{body{background:#fff;color:#000}.sidebar,.topbar,.button,.button-row{display:none!important}.app-main{width:100%;padding:0}}#root{min-height:100vh}
