*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:#f6f7f2;color:#17201c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}a{color:var(--wts-accent-dark, #116149)}button,input,select,textarea{font:inherit}.wts-shell{min-height:100vh;background:linear-gradient(180deg,#ffffffc7,#f6f7f2f0),#f6f7f2}.wts-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;border-bottom:1px solid #d9ded4;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wts-brand,.wts-nav,.wts-footer nav{display:flex;align-items:center;gap:12px}.wts-brand{color:#17201c;font-weight:760;text-decoration:none}.wts-brand-mark{width:12px;height:12px;border-radius:50%;background:var(--wts-accent, #1a7f64);box-shadow:0 0 0 5px #1a7f641f}.wts-nav a,.wts-footer a{color:#43524b;font-size:.92rem;text-decoration:none}.wts-nav a:hover,.wts-footer a:hover{color:var(--wts-accent-dark, #116149)}.wts-tool{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 48px}.wts-tool-panel{padding:26px;border:1px solid #d8dfd3;border-radius:8px;background:#fff;box-shadow:0 18px 48px #27352d1f}.wts-tool-copy{max-width:820px;margin-bottom:22px}.wts-kicker{margin:0 0 8px;color:var(--wts-accent-dark, #116149);font-size:.78rem;font-weight:740;text-transform:uppercase}.wts-tool h1{margin:0;color:#121916;font-size:2.18rem;line-height:1.12}.wts-tool-copy p:last-child{margin:10px 0 0;max-width:760px;color:#52615a}.wts-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px}.wts-inputs,.wts-output{border:1px solid #e0e4dc;border-radius:8px;background:#f8faf6;padding:18px}.wts-inputs{display:flex;flex-direction:column;gap:12px}.wts-inputs label,.wts-field label,.wts-feedback-box label{color:#26332e;font-size:.88rem;font-weight:720}.wts-inputs textarea,.wts-field input,.wts-field select,.wts-feedback-box textarea{width:100%;border:1px solid #cfd7ca;border-radius:6px;background:#fff;color:#17201c;padding:10px 12px}.wts-inputs textarea:focus,.wts-field input:focus,.wts-field select:focus,.wts-feedback-box textarea:focus{border-color:var(--wts-accent, #1a7f64);outline:2px solid rgba(26,127,100,.16)}.wts-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wts-field{display:flex;flex-direction:column;gap:6px}.wts-primary-button,.wts-actions button,.wts-feedback button,.wts-feedback-box button{min-height:40px;border:0;border-radius:6px;padding:9px 14px;color:#fff;background:var(--wts-accent-dark, #116149);cursor:pointer;font-weight:720}.wts-actions button,.wts-feedback button,.wts-feedback-box button{color:#17201c;border:1px solid #cfd7ca;background:#fff}.wts-primary-button:hover,.wts-actions button:hover,.wts-feedback button:hover,.wts-feedback-box button:hover{transform:translateY(-1px)}.wts-feedback-box button:disabled{cursor:not-allowed;opacity:.52;transform:none}.wts-error{margin:0;color:#a83a2d;font-size:.9rem}.wts-output{display:flex;flex-direction:column;min-width:0}.wts-output-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.wts-output h2,.wts-content h2,.wts-faq h2,.wts-related h2{margin:0;color:#17201c;font-size:1.12rem}.wts-output-header span{color:var(--wts-accent-dark, #116149);font-size:.8rem;font-weight:730}.wts-output pre{flex:1;min-height:300px;margin:0;overflow:auto;white-space:pre-wrap;border:1px solid #dce2d7;border-radius:6px;background:#111916;color:#f4f7f0;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem}.wts-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.wts-content,.wts-faq,.wts-related,.wts-feedback{margin-top:26px}.wts-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wts-content article,.wts-faq article,.wts-related,.wts-feedback-box{border:1px solid #dfe5da;border-radius:8px;background:#ffffffb8;padding:18px}.wts-content p,.wts-faq p,.wts-related span{color:#53625b}.wts-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px}.wts-faq h3{margin:0 0 8px;color:#25322d;font-size:1rem}.wts-related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:14px 0 0;list-style:none}.wts-related li{display:flex;flex-direction:column;gap:3px}.wts-feedback-box{display:flex;flex-direction:column;gap:10px;max-width:620px;margin-top:12px}.wts-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;border-top:1px solid #d9ded4;color:#596760;background:#fff}.wares-friendly-links{width:min(1180px,calc(100% - 32px));margin-right:auto;margin-left:auto}@media (max-width: 860px){.wts-header,.wts-footer{align-items:flex-start;flex-direction:column}.wts-workspace,.wts-content,.wts-faq-grid,.wts-related ul,.wts-field-grid{grid-template-columns:1fr}.wts-tool-panel{padding:18px}.wts-tool h1{font-size:1.75rem}}.ply-app{--ply-bg: var(--wts-bg, var(--wares-color-background, Canvas));--ply-surface: var(--wts-surface, var(--wares-color-surface, color-mix(in srgb, Canvas 94%, CanvasText)));--ply-surface-strong: var(--wares-color-surface, color-mix(in srgb, Canvas 88%, CanvasText));--ply-ink: var(--wts-ink, var(--wares-color-text-primary, CanvasText));--ply-muted: var(--wares-color-text-secondary, color-mix(in srgb, CanvasText 66%, Canvas));--ply-line: var(--wares-color-border, color-mix(in srgb, CanvasText 20%, Canvas));--ply-accent: var(--wts-accent, var(--wares-color-primary, LinkText));--ply-accent-dark: var(--wts-accent-dark, var(--wares-color-primary, LinkText));--ply-danger: var(--wares-color-error, crimson);--ply-radius: var(--wares-radius-md, .625rem);--ply-radius-lg: var(--wares-radius-lg, .875rem);--ply-shadow: var(--wares-shadow-sm, 0 1px 2px color-mix(in srgb, CanvasText 14%, transparent));--ply-gap: var(--wares-spacing-md, 1rem);--ply-gap-sm: var(--wares-spacing-sm, .5rem);--ply-gap-lg: var(--wares-spacing-lg, 1.5rem);--ply-font: var(--wares-font-sans, system-ui, sans-serif);display:flex;flex-direction:column;gap:var(--ply-gap);max-width:1240px;margin:0 auto;padding:var(--ply-gap-lg) var(--ply-gap);color:var(--ply-ink);background:var(--ply-bg);font-family:var(--ply-font);line-height:1.55}.ply-app *,.ply-app *:before,.ply-app *:after{box-sizing:border-box}.ply-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ply-gap);justify-content:space-between}.ply-eyebrow{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ply-accent)}.ply-mode-nav{display:flex;flex-wrap:wrap;gap:var(--ply-gap-sm)}.ply-mode{padding:.35rem .7rem;border:1px solid var(--ply-line);border-radius:999px;color:var(--ply-muted);font-size:.82rem;text-decoration:none}.ply-mode:hover,.ply-mode:focus-visible{color:var(--ply-ink);border-color:var(--ply-accent)}.ply-mode.is-active{background:var(--ply-accent);border-color:var(--ply-accent);color:var(--ply-bg);font-weight:600}.ply-heading h1{margin:0 0 var(--ply-gap-sm);font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.15;letter-spacing:-.02em}.ply-heading p{margin:0;max-width:74ch;color:var(--ply-muted)}.ply-fingerprint{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ply-main{display:flex;flex-direction:column;gap:var(--ply-gap-lg)}.ply-workspace{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:var(--ply-gap);align-items:start}.ply-inputs,.ply-output,.ply-results{display:flex;flex-direction:column;gap:var(--ply-gap);min-width:0}.ply-inputs{position:sticky;top:var(--ply-gap)}@media (max-width: 960px){.ply-workspace{grid-template-columns:minmax(0,1fr)}.ply-inputs{position:static}}.ply-card,.ply-sheet-card{display:flex;flex-direction:column;gap:var(--ply-gap-sm);padding:var(--ply-gap);border:1px solid var(--ply-line);border-radius:var(--ply-radius-lg);background:var(--ply-surface);box-shadow:var(--ply-shadow)}.ply-card-head h2,.ply-card-head h3{margin:0;font-size:1.05rem;letter-spacing:-.01em}.ply-card-head p{margin:.25rem 0 0}.ply-card-head-row{display:flex;flex-wrap:wrap;gap:var(--ply-gap-sm);align-items:flex-start;justify-content:space-between}.ply-muted{color:var(--ply-muted);font-size:.86rem}.ply-label{font-size:.82rem;font-weight:600;letter-spacing:.01em}.ply-help{margin:0;color:var(--ply-muted);font-size:.8rem}.ply-help code{padding:.05rem .25rem;border-radius:var(--ply-radius);background:var(--ply-surface-strong);font-size:.78rem}.ply-textarea,.ply-input,.ply-select{width:100%;padding:.55rem .7rem;border:1px solid var(--ply-line);border-radius:var(--ply-radius);background:var(--ply-bg);color:var(--ply-ink);font:inherit;font-size:.88rem}.ply-textarea{min-height:11rem;resize:vertical;font-family:var(--wares-font-mono, ui-monospace, monospace);line-height:1.5}.ply-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2rem}.ply-select option{background-color:color-mix(in srgb,var(--ply-accent-dark) 88%,CanvasText);color:Canvas}.ply-textarea:focus-visible,.ply-input:focus-visible,.ply-select:focus-visible,.ply-button:focus-visible,.ply-mode:focus-visible{outline:2px solid var(--ply-accent);outline-offset:2px}.ply-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ply-gap-sm)}.ply-field{display:flex;flex-direction:column;gap:.25rem}.ply-check{display:flex;gap:var(--ply-gap-sm);align-items:flex-start;padding:var(--ply-gap-sm);border:1px dashed var(--ply-line);border-radius:var(--ply-radius);font-size:.85rem}.ply-check input{margin-top:.2rem;accent-color:var(--ply-accent)}.ply-check small{display:block;color:var(--ply-muted);font-size:.78rem}.ply-actions,.ply-inline{display:flex;flex-wrap:wrap;gap:var(--ply-gap-sm);align-items:center}.ply-inline .ply-input{flex:1 1 12rem}.ply-app .ply-ghost{background:transparent;border:1px solid var(--ply-line);color:var(--ply-ink)}.ply-button{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid var(--ply-line);border-radius:var(--ply-radius);background:var(--ply-surface-strong);color:var(--ply-ink);font:inherit;font-size:.82rem;cursor:pointer;text-decoration:none}.ply-button-ghost{background:transparent}.ply-button-danger{border-color:color-mix(in srgb,var(--ply-danger) 60%,var(--ply-line));color:var(--ply-danger);background:transparent}.ply-button:hover{border-color:var(--ply-accent)}.ply-status{margin:0;color:var(--ply-muted);font-size:.82rem}.ply-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--ply-gap-sm)}.ply-kpis>*{min-width:0!important;background:var(--ply-surface);border:1px solid var(--ply-line);border-radius:var(--ply-radius-lg);color:var(--ply-ink)}.ply-sheet-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.ply-sheet-tab{padding:.25rem .65rem;border:1px solid var(--ply-line);border-radius:999px;background:transparent;color:var(--ply-muted);font:inherit;font-size:.78rem;cursor:pointer}.ply-sheet-tab.is-active{background:var(--ply-accent);border-color:var(--ply-accent);color:var(--ply-bg);font-weight:600}.ply-diagram{display:flex;flex-direction:column;gap:var(--ply-gap-sm)}.ply-svg{width:100%;height:auto;max-height:22rem;color:var(--ply-ink);background:var(--ply-bg);border-radius:var(--ply-radius)}.ply-svg-sheet{fill:color-mix(in srgb,CanvasText 6%,transparent);stroke:var(--ply-accent);stroke-width:2}.ply-svg-part{fill:color-mix(in srgb,var(--ply-accent) 16%,transparent);stroke:var(--ply-line);stroke-width:1}.ply-svg-label{fill:var(--ply-ink);font-size:9px;font-weight:600}.ply-svg-dim{fill:var(--ply-muted);font-size:8px}.ply-pre{max-height:18rem;margin:0;padding:var(--ply-gap-sm);overflow:auto;border:1px solid var(--ply-line);border-radius:var(--ply-radius);background:var(--ply-bg);color:var(--ply-ink);font-family:var(--wares-font-mono, ui-monospace, monospace);font-size:.76rem;line-height:1.45;white-space:pre-wrap}.ply-totals{display:flex;flex-wrap:wrap;gap:var(--ply-gap);margin:0}.ply-totals dt{color:var(--ply-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.ply-totals dd{margin:.1rem 0 0;font-weight:700}.ply-error{padding:var(--ply-gap);border:1px solid color-mix(in srgb,var(--ply-danger) 55%,var(--ply-line));border-radius:var(--ply-radius-lg);background:color-mix(in srgb,var(--ply-danger) 10%,transparent)}.ply-error h3{margin:0 0 .35rem;font-size:.95rem}.ply-error ul{margin:0;padding-left:1.1rem;font-size:.84rem}.ply-empty{padding:var(--ply-gap);border:1px dashed var(--ply-line);border-radius:var(--ply-radius);color:var(--ply-muted);font-size:.86rem}.ply-plan-list,.ply-note-list{display:flex;flex-direction:column;gap:var(--ply-gap-sm);margin:0;padding:0;list-style:none}.ply-plan,.ply-note-list li{display:flex;flex-wrap:wrap;gap:var(--ply-gap-sm);align-items:center;justify-content:space-between;padding:var(--ply-gap-sm);border:1px solid var(--ply-line);border-radius:var(--ply-radius);background:var(--ply-bg);font-size:.85rem}.ply-plan.is-active{border-color:var(--ply-accent)}.ply-plan small{display:block;color:var(--ply-muted);font-size:.75rem}.ply-save-form,.ply-note-form{display:flex;flex-direction:column;gap:.3rem}.ply-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:var(--ply-gap-lg);padding-top:var(--ply-gap);border-top:1px solid var(--ply-line)}.ply-content-block h2{margin:0 0 var(--ply-gap-sm);font-size:1.2rem}.ply-content-block h3{margin:var(--ply-gap) 0 .25rem;font-size:.95rem}.ply-content-block p,.ply-faq dd{margin:0;color:var(--ply-muted);font-size:.86rem}.ply-faq{margin:0}.ply-faq dt{margin-top:var(--ply-gap-sm);font-weight:600;font-size:.88rem}.ply-related{display:flex;flex-direction:column;gap:var(--ply-gap-sm);margin:0;padding:0;list-style:none}.ply-related li{display:flex;flex-direction:column;font-size:.84rem}.ply-related a,.ply-related span{color:var(--ply-muted);font-size:.8rem}.ply-missing{padding:var(--ply-gap-lg);border:1px solid var(--ply-line);border-radius:var(--ply-radius-lg);background:var(--ply-surface)}.ply-toast{position:fixed;right:var(--ply-gap);bottom:var(--ply-gap);z-index:60;display:flex;gap:var(--ply-gap-sm);align-items:center;max-width:min(26rem,calc(100vw - 2rem));padding:.7rem .9rem;border:1px solid var(--ply-accent);border-radius:var(--ply-radius);background:var(--ply-surface-strong);color:var(--ply-ink);box-shadow:var(--ply-shadow);font-size:.84rem}.ply-toast-dismiss{border:none;background:transparent;color:var(--ply-ink);font-size:1.1rem;line-height:1;cursor:pointer}.ply-row-editor{display:flex;flex-direction:column;gap:var(--ply-gap-sm);padding-top:var(--ply-gap-sm);border-top:1px solid var(--ply-line)}.ply-row-editor-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ply-gap-sm)}.ply-row-editor-head h3{margin:0;font-size:.95rem}.ply-part-rows{display:flex;flex-direction:column;gap:var(--ply-gap-sm);margin:0;padding:0;list-style:none}.ply-part-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:var(--ply-gap-sm);padding:var(--ply-gap-sm);border:1px solid var(--ply-line);border-radius:var(--ply-radius);background:var(--ply-surface-strong)}.ply-row-field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ply-row-label{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--ply-muted)}.ply-row-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--ply-gap-sm)}.ply-row-actions .ply-button{font-size:.78rem;padding:.35rem .6rem}.ply-print-only{margin:0;padding:var(--ply-gap-sm);border:1px solid var(--ply-line);border-radius:var(--ply-radius);background:var(--ply-bg);color:var(--ply-ink);font-family:var(--wares-font-mono, ui-monospace, monospace);font-size:.78rem;line-height:1.5;white-space:pre-wrap;overflow-x:auto}@media print{.ply-toolbar,.ply-inputs,.ply-saved,.ply-toast,.ply-actions,.wts-feedback,.wts-footer,.wts-nav{display:none!important}.ply-workspace{display:block}.ply-card,.ply-sheet-card{break-inside:avoid;box-shadow:none;border-color:currentColor}}@media (max-width: 640px){.ply-app{padding:var(--ply-gap) var(--ply-gap-sm)}.ply-grid{grid-template-columns:minmax(0,1fr)}.ply-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
