:root{--cr: #EEDDCC;--cr50: #F7F1EA;--tr: #7D5850;--trh: #654842;--dk: #2B241F;--dks: #5C534C;--ln: #D8C8B8;--wh: #FFFFFF;--ok: #3B6D11;--warn: #854F0B;--err: #9B2C1E;--radius: 9px;--radius-sm: 6px;--font: "Ubuntu", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--shadow: 0 2px 10px rgba(43, 36, 31, .12)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#app{height:100%}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}body{font-family:var(--font);color:var(--dk);background:var(--cr50);-webkit-font-smoothing:antialiased;line-height:1.45}h1,h2,h3{line-height:1.2;font-weight:700}small,.muted{color:var(--dks)}.container{width:100%;max-width:1100px;margin-inline:auto;padding-inline:var(--sp-4)}.app-header{background:var(--tr);color:var(--wh);padding:var(--sp-3) 0;box-shadow:var(--shadow)}.app-header .brand{display:flex;align-items:center;gap:var(--sp-2);font-weight:700;letter-spacing:.3px}.app-main{padding-block:var(--sp-5)}.app-footer{color:var(--dks);text-align:center;padding:var(--sp-5) 0;font-size:13px}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-main{flex:1}.app-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}.app-header .brand{color:var(--wh);text-decoration:none}.app-header .brand small{opacity:.75;font-weight:400}.app-nav{display:flex;align-items:center;gap:var(--sp-3)}.app-nav__link{color:var(--wh);opacity:.9;font-weight:600;font-size:14px}.app-nav__link:hover{opacity:1;text-decoration:underline}.app-nav__user{color:var(--wh);font-weight:600;font-size:14px;opacity:.95}.section{padding-block:var(--sp-6)}.section--tint{background:var(--cr50)}.section__head{text-align:center;max-width:720px;margin-inline:auto;margin-bottom:var(--sp-6)}.section__head h2{font-size:clamp(24px,3vw,34px);color:var(--dk)}.section__head p{color:var(--dks);margin-top:var(--sp-2)}.grid-3{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px 18px;border:1px solid transparent;border-radius:var(--radius);font-weight:600;font-size:14px;transition:background .15s,border-color .15s,opacity .15s;background:var(--cr);color:var(--dk)}.btn:hover{background:var(--ln)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--tr);color:var(--wh)}.btn--primary:hover{background:var(--trh)}.btn--ghost{background:transparent;border-color:var(--ln)}.btn--danger{background:var(--err);color:var(--wh)}.btn--block{width:100%}.card{background:var(--wh);border:1px solid var(--ln);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-5)}.card__title{font-size:18px;margin-bottom:var(--sp-3);color:var(--tr)}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:13px;font-weight:600;color:var(--dks)}.input,.select{width:100%;padding:10px 12px;border:1px solid var(--ln);border-radius:var(--radius-sm);background:var(--wh);color:var(--dk)}.input:focus,.select:focus{outline:2px solid var(--cr);border-color:var(--tr)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--cr);color:var(--dk)}.badge--ok{background:color-mix(in srgb,var(--ok) 18%,white);color:var(--ok)}.badge--warn{background:color-mix(in srgb,var(--warn) 18%,white);color:var(--warn)}.toast-wrap{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{background:var(--dk);color:var(--wh);padding:10px 14px;border-radius:var(--radius);box-shadow:var(--shadow);font-size:14px}.toast--ok{background:var(--ok)}.toast--err{background:var(--err)}.btn--sm{padding:7px 12px;font-size:13px;border-radius:var(--radius-sm)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.feature{text-align:left}.feature__ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--cr);color:var(--tr);font-size:22px;font-weight:700;margin-bottom:var(--sp-3)}.feature h3{font-size:18px;margin-bottom:6px}.feature p{color:var(--dks);font-size:14px}
