:root{font-family:Manrope,sans-serif;color:#132025;background:radial-gradient(circle at 10% 10%,#f0f6ec 0,#e6efe6 40%,#dde8e1)}*{box-sizing:border-box}body{margin:0}.page{max-width:1120px;margin:0 auto;padding:1.2rem}.hero{background:linear-gradient(145deg,#132025,#1f3740 70%,#254c53);color:#effaf4;padding:1.4rem;border-radius:22px;box-shadow:0 16px 45px #10222640}.hero h1{margin:0 0 .35rem;font-size:clamp(1.7rem,3vw,2.3rem)}.hero p{margin:0;color:#d4ece0}.summary{margin-top:.9rem;display:flex;gap:.6rem;flex-wrap:wrap}.summary span{background:#effaf429;border:1px solid rgba(239,250,244,.25);border-radius:999px;padding:.3rem .75rem;font-weight:700;font-size:.86rem}.layout{margin-top:1rem;display:grid;grid-template-columns:1fr;gap:1rem}.panel{border-radius:18px;background:#ffffffbd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(173,190,177,.5);padding:1rem}.form,.cards,.history{display:grid;gap:.65rem}input,textarea,select,button{font:inherit;border-radius:12px}input,textarea,select{width:100%;border:1px solid #b6c8ba;padding:.65rem .75rem;background:#f5fbf7}.inline{display:grid;grid-template-columns:110px 1fr;gap:.5rem}button{border:0;background:#214f49;color:#fff;padding:.62rem .8rem;font-weight:700;cursor:pointer;transition:transform .16s ease,opacity .16s ease}button:hover{transform:translateY(-1px)}button:disabled{opacity:.65;cursor:default}.secondary{background:#eaf2eb;color:#1b3a30}.card{background:#f6fbf8;border:1px solid #d4e1d6;border-radius:14px;padding:.85rem}.cardTop{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.badge{border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:800}.badge.overdue{background:#ffd9d7;color:#8e1c1c}.badge.soon{background:#ffecc4;color:#805d00}.badge.ok{background:#d9efde;color:#1d5e2f}.actions{display:flex;gap:.45rem;flex-wrap:wrap}.empty,.muted{color:#5d6f66}.history{list-style:none;margin:0;padding:0}.history li{border-bottom:1px solid #dae7dc;padding:.5rem 0}@media(min-width:950px){.layout{grid-template-columns:320px 1fr 300px;align-items:start}}
