:root{--paper:#f2eee6;--surface:#fffdf8;--surface-strong:#fff;--ink:#17212d;--muted:#65707c;--line:#ddd7cc;--accent:#b8582d;--accent-dark:#873d20;--navy:#1b2d3d;--green:#2f7451;--green-soft:#e6f1e9;--amber:#93611f;--amber-soft:#f7ecd5;--red:#a03d34;--red-soft:#f6e5e2;--blue-soft:#e5edf2;--radius:16px;--font-display:"Iowan Old Style", "Baskerville", Georgia, serif;--font-sans:"Avenir Next", "Helvetica Neue", sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:linear-gradient(#1b2d3d09 1px, transparent 1px), var(--paper);font-family:var(--font-sans);background-size:100% 36px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.login-page{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-intro{background:var(--navy);color:#f8f2e7;flex-direction:column;justify-content:space-between;padding:clamp(40px,7vw,110px);display:flex}.brand{align-items:center;width:max-content;display:inline-flex}.brand-logo{background:#fffdf8;border-radius:8px;width:156px;height:auto;padding:5px 7px}.login-copy h1,.page-title h1{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,7vw,6.4rem);line-height:.92}.login-copy p{color:#c7d0d4;max-width:540px;margin:28px 0 0;font-size:1.05rem;line-height:1.75}.login-panel{background:var(--surface);place-items:center;padding:32px;display:grid}.login-card{width:min(430px,100%)}.login-card h2{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 8px;font-size:2.7rem}.subtle{color:var(--muted)}.form-stack{gap:18px;margin-top:32px;display:grid}.field{gap:8px;display:grid}.field label,.fieldset-label{color:var(--navy);letter-spacing:.045em;text-transform:uppercase;font-size:.82rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:12px 13px;transition:border-color .16s,box-shadow .16s}.field textarea{resize:vertical;min-height:112px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8582d1f}.button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:600;display:inline-flex}.button:hover{background:var(--accent-dark)}.button.secondary{background:var(--navy)}.button.quiet{color:var(--navy);border:1px solid var(--line);background:0 0}.button.disabled{cursor:not-allowed;opacity:.45}.button.disabled:hover{background:0 0}.button.danger{background:var(--red)}.button.full{width:100%}.error-banner{border-left:3px solid var(--red);background:var(--red-soft);color:var(--red);margin-top:18px;padding:12px 14px}.success-banner{border-left:3px solid var(--green);background:var(--green-soft);color:var(--green);margin-bottom:20px;padding:12px 14px}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#f7f1e8;flex-direction:column;gap:40px;min-height:100vh;padding:26px 20px;display:flex}.sidebar-nav{gap:8px;display:grid}.sidebar-link{color:#bfcbd1;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:.92rem;display:flex}.sidebar-link.active,.sidebar-link:hover{color:#fff;background:#263d4f}.sidebar-footer{z-index:10;width:196px;position:fixed;bottom:26px;left:20px}.sidebar-footer form{width:100%}.sidebar-footer .button{color:#d5dde1;border-color:#536675;width:100%}.main{min-width:0;padding:38px clamp(20px,4vw,64px) 64px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px;display:flex}.page-title h1{font-size:clamp(2.7rem,5vw,4.8rem)}.page-title p{color:var(--muted);margin:8px 0 0}.stats{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 28px;display:grid}.stat{background:var(--surface);padding:20px}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.8rem}.stat-value{font-family:var(--font-display);margin-top:12px;font-size:2.6rem;line-height:1}.panel{background:var(--surface);border:1px solid var(--line)}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.panel-head h2{font-family:var(--font-display);margin:0;font-size:1.7rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:850px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:15px 20px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem}td{vertical-align:middle;font-size:.9rem}tbody tr:hover{background:#fbf7f0}.table-primary{color:var(--navy);font-weight:600}.table-secondary{color:var(--muted);margin-top:3px;font-size:.8rem}.pagination-bar{border-top:1px solid var(--line);color:var(--muted);background:linear-gradient(#fffdf8f5,#f8f3eaeb);justify-content:space-between;align-items:center;gap:16px;margin:0;padding:18px 20px;font-size:.86rem;display:flex;box-shadow:inset 0 1px #ffffffbf}.pagination-bar>span:first-child{min-width:max-content;color:var(--muted);font-weight:500}.pagination-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.pagination-actions .button{background:var(--surface-strong);color:var(--navy);border-color:#d3cabe;min-width:88px;padding:8px 12px;box-shadow:0 4px 12px #1b2d3d09}.pagination-actions .button:hover{border-color:var(--accent);color:var(--accent-dark);background:#fff8ee}.pagination-actions .button.disabled{border-color:var(--line);color:#9a9186;opacity:1;box-shadow:none;pointer-events:none;background:#eee8de}.pagination-current{min-height:36px;color:var(--navy);white-space:nowrap;background:#fff8ee;border:1px solid #d3cabe;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:.82rem;font-weight:600;display:inline-flex;box-shadow:0 4px 12px #1b2d3d09}.status{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;font-size:.77rem;font-weight:600;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status.ok{color:var(--green)}.status.expiring{color:var(--amber)}.status.expired,.status.error{color:var(--red)}.status.pending{color:var(--muted)}.mode-label{color:var(--navy);text-transform:capitalize}.empty{text-align:center;padding:72px 20px}.empty h3{font-family:var(--font-display);margin:0 0 8px;font-size:2rem}.empty p{color:var(--muted);max-width:450px;margin:0 auto 24px}.form-panel{max-width:980px}.form-body{padding:clamp(20px,4vw,40px)}.mode-switch{border:0;margin:0 0 30px;padding:0}.mode-options{grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;display:grid}.mode-option{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:auto 1fr;gap:12px;padding:16px;display:grid}.mode-option:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mode-option strong{color:var(--navy);display:block}.mode-option span{color:var(--muted);font-size:.84rem;line-height:1.45}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.span-2{grid-column:span 2}.form-actions{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:30px;padding-top:24px;display:flex}.checkbox{align-items:center;gap:9px;padding-top:28px;display:flex}.inline-actions{align-items:center;gap:8px;display:flex}.inline-actions form{margin:0}.text-action{color:var(--accent);font-weight:600}.settings-stack{gap:20px;margin-bottom:20px;display:grid}.settings-section{margin-bottom:20px}.settings-section .panel-head p{margin:5px 0 0}.settings-save{width:max-content}.smtp-grid{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.smtp-grid div{background:var(--surface);gap:7px;padding:18px 20px;display:grid}.smtp-grid span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem}.smtp-grid strong{overflow-wrap:anywhere;font-size:.87rem}.smtp-test{align-items:end;gap:12px;padding:20px;display:flex}.smtp-test .field{flex:1}.empty.compact{padding:32px 20px}@media (max-width:980px){.login-page{grid-template-columns:1fr}.login-intro{min-height:42vh}.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;gap:16px;min-height:0;padding:16px 20px}.sidebar-nav{display:flex}.sidebar-footer{width:auto;margin:0 0 0 auto;position:static}.sidebar-footer .button{width:auto}.stats,.smtp-grid{grid-template-columns:1fr 1fr}}@media (max-width:650px){.login-intro{padding:32px 24px}.login-copy h1{font-size:3.5rem}.sidebar{flex-wrap:wrap}.sidebar-nav{order:3;grid-template-columns:1fr 1fr;width:100%;display:grid}.main{padding:26px 16px 48px}.topbar{flex-direction:column;align-items:stretch}.topbar .button{width:100%}.form-grid,.mode-options{grid-template-columns:1fr}.span-2{grid-column:auto}.form-actions{flex-direction:column;align-items:stretch}.smtp-grid{grid-template-columns:1fr}.smtp-test{flex-direction:column;align-items:stretch}.pagination-bar{flex-direction:column;align-items:stretch;gap:12px}.pagination-bar>span:first-child{min-width:0}.pagination-actions{grid-template-columns:1fr auto 1fr;gap:8px;display:grid}.pagination-actions .button{width:100%;min-width:0}table{min-width:0}thead{display:none}tbody,tr,td{display:block}tbody tr{border-bottom:1px solid var(--line);padding:14px 0}td{border:0;padding:5px 20px}td:before{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.66rem;font-weight:600;display:block}td:first-child:before{content:"Application / service"}td:nth-child(2):before{content:"Source"}td:nth-child(3):before{content:"Expiry"}td:nth-child(4):before{content:"Status"}td:nth-child(5):before{content:"Notify"}td:nth-child(6):before{content:"Actions"}}
