@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f8f7;--surface:#fff;--text:#17251f;--muted:#728078;--primary:#16a36a;--primary-dark:#0d7d50;--primary-soft:#e8f8f0;--red:#e5484d;--red-soft:#ffedef;--orange:#ef8f2f;--orange-soft:#fff3e5;--border:#e6ece9;--shadow:0 12px 34px rgba(22,65,46,.07);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Cairo,Tahoma,sans-serif;font-size:15px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 0 0 auto;width:240px;background:#fff;border-left:1px solid var(--border);padding:28px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;line-height:1.25;padding:0 8px 28px}.brand small{color:var(--primary);font-size:13px}.brand-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--primary-soft);font-size:25px}.sidebar nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:14px;color:var(--muted);transition:.2s}.nav-item span{font-size:19px}.nav-item b{font-size:14px}.nav-item:hover,.nav-item.active{background:var(--primary-soft);color:var(--primary-dark)}.sidebar-note{margin-top:auto;background:linear-gradient(145deg,#effbf5,#fdfefe);padding:16px;border-radius:16px;color:var(--muted);font-size:12px}.main-content{margin-right:240px;max-width:1240px;padding:42px 48px 80px}.bottom-nav{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.page-head h1{font-size:30px;margin:0 0 5px;letter-spacing:-.5px}.page-head p{margin:0;color:var(--muted)}.page-head .eyebrow{color:var(--primary);font-size:12px;font-weight:800;margin-bottom:5px}.icon-btn{width:45px;height:45px;border-radius:14px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;box-shadow:var(--shadow)}.btn{border:0;border-radius:13px;padding:11px 18px;cursor:pointer;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:7px;transition:.2s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(22,163,106,.2)}.btn.primary:hover{background:var(--primary-dark)}.btn.soft{background:#f0f5f3;color:#496159}.btn.big{padding:14px 22px;font-size:15px;width:100%}.btn.danger-outline{background:#fff;border:1px solid #ffc9cc;color:var(--red)}.btn.danger-link{background:transparent;color:var(--red)}.hero-card{background:linear-gradient(135deg,#0d8d5b,#24b879);color:#fff;border-radius:28px;padding:28px 32px;box-shadow:0 20px 42px rgba(22,163,106,.2);position:relative;overflow:hidden}.hero-card:after{content:'💸';position:absolute;left:25px;bottom:-25px;font-size:100px;opacity:.08;transform:rotate(-10deg)}.hero-card.negative{background:linear-gradient(135deg,#cf3d44,#ef6469);box-shadow:0 20px 42px rgba(229,72,77,.18)}.hero-top{display:flex;justify-content:space-between;align-items:center}.hero-top>span:first-child{font-weight:700}.status{font-size:12px;font-weight:800;border-radius:99px;padding:5px 10px;white-space:nowrap}.status.open{background:var(--orange-soft);color:#b96611}.hero-card .status.open{background:rgba(255,255,255,.18);color:#fff}.status.done{background:var(--primary-soft);color:var(--primary-dark)}.hero-amount{display:block;font-size:46px;direction:ltr;text-align:right;margin:18px 0 3px;letter-spacing:-1px}.hero-card p{margin:0;opacity:.85}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:18px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:19px;padding:18px;min-width:0}.stat-card .stat-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;margin-bottom:15px;font-size:19px}.stat-icon.mint{background:var(--primary-soft)}.stat-icon.peach{background:#fff0e9}.stat-icon.amber{background:#fff7dc}.stat-icon.rose{background:var(--red-soft)}.stat-card small{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.stat-card strong{display:block;direction:ltr;text-align:right;font-size:18px;white-space:nowrap}.green{color:var(--primary)!important}.red{color:var(--red)!important}.section{margin-top:32px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h2{font-size:19px;margin:0}.section-title p{margin:2px 0 0;color:var(--muted);font-size:12px}.section-title>a{color:var(--primary);font-weight:700;font-size:13px}.session-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.number-pill{font-size:12px;background:var(--orange-soft);color:#a65e14;padding:5px 10px;border-radius:99px;font-weight:800}.session-card h3{font-size:25px;margin:12px 0 3px;direction:ltr;text-align:right}.session-card p{font-size:12px;color:var(--muted);margin:0}.history-strip{margin-top:18px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px 22px;display:flex;align-items:center;gap:25px}.history-strip>div{display:flex;align-items:center;gap:12px}.history-strip small{color:var(--muted)}.history-strip strong{font-size:18px;direction:ltr}.history-strip i{width:1px;height:28px;background:var(--border)}.empty-card{background:#fff;border:1px dashed #cfdbd5;border-radius:24px;text-align:center}.empty-card.large{padding:55px 20px}.empty-emoji{font-size:48px;margin-bottom:10px}.empty-card h2,.empty-card h1{margin:0 0 7px}.empty-card p{color:var(--muted);max-width:430px;margin:0 auto 22px}.empty-card form,.empty-card .btn{max-width:330px;margin:auto}.session-list{display:grid;gap:12px}.session-row{background:#fff;border:1px solid var(--border);border-radius:20px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}.session-main{display:flex;align-items:center;gap:13px}.session-badge{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;font-weight:800}.session-badge.open{background:var(--orange-soft);color:var(--orange)}.session-badge.done{background:var(--primary-soft);color:var(--primary)}.session-row h2{font-size:16px;margin:0 0 4px}.session-row p{margin:0;color:var(--muted);font-size:11px}.session-result{display:flex;align-items:center;gap:18px}.session-result>strong{font-size:18px;direction:ltr}.mobile-create{display:none}.pagination{display:flex;justify-content:center;gap:7px;margin:25px}.pagination a{width:36px;height:36px;display:grid;place-items:center;background:#fff;border-radius:10px}.pagination a.active{background:var(--primary);color:#fff}.back{display:block;color:var(--primary);font-weight:700;font-size:13px;margin-bottom:7px}.session-head{align-items:center}.result-card{background:#fff;border:1px solid var(--border);border-right:5px solid var(--primary);border-radius:22px;padding:23px 26px}.result-card.negative{border-right-color:var(--red)}.result-card>small{color:var(--muted)}.result-card>strong{display:block;font-size:38px;direction:ltr;text-align:right;margin:4px 0}.result-card>p{color:var(--muted);margin:0;font-size:12px}.date-range{display:flex;gap:25px;margin-top:18px;padding-top:15px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.session-stats{grid-template-columns:repeat(5,1fr)}.stat-card.total{background:#fff9f9}.operations{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px}.transaction-list{display:grid}.day-label{font-size:12px;color:var(--muted);font-weight:700;padding:15px 0 7px;border-bottom:1px solid var(--border)}.transaction{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #eff3f1;position:relative}.transaction:last-child{border-bottom:0}.tx-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;flex:none}.tx-icon.income{background:var(--primary-soft)}.tx-icon.expense{background:#fff0e9}.tx-info{min-width:0;flex:1}.tx-info h3{margin:0;font-size:14px}.tx-info p{margin:2px 0;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-info time{font-size:10px;color:#a1aaa5}.tx-amount{font-size:15px;direction:ltr;white-space:nowrap}.more-btn{border:0;background:transparent;color:var(--muted);font-weight:800;padding:10px;cursor:pointer}.empty-inline{display:flex;align-items:center;gap:15px;padding:25px;background:#f8faf9;border-radius:16px}.empty-inline>span{font-size:35px}.empty-inline h3{margin:0}.empty-inline p{margin:2px 0;color:var(--muted);font-size:12px}.complete-box{margin-top:18px;background:#fff;border:1px solid #ffd9db;border-radius:20px;padding:20px;display:flex;justify-content:space-between;align-items:center}.complete-box h2{margin:0;font-size:16px}.complete-box p{margin:3px 0;color:var(--muted);font-size:12px}.locked-note{margin-top:18px;background:var(--primary-soft);color:var(--primary-dark);padding:17px;border-radius:16px;text-align:center;font-weight:700}.modal-backdrop{position:fixed;inset:0;background:rgba(16,35,27,.45);z-index:100;display:grid;place-items:center;padding:18px;animation:fade .18s}.sheet,.confirm-dialog{position:relative;background:#fff;border-radius:25px;width:min(600px,100%);max-height:92vh;overflow:auto;padding:25px;animation:rise .22s}.sheet.small{width:min(470px,100%)}.sheet-close{position:absolute;left:18px;top:16px;border:0;background:#f0f3f2;width:33px;height:33px;border-radius:50%;font-size:20px;cursor:pointer}.sheet-head{text-align:center;margin-bottom:20px}.sheet-head>span{font-size:35px}.sheet-head h2{margin:5px 0 0}.sheet-head p{margin:2px 0;color:var(--muted)}.type-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.type-choice input{position:absolute;opacity:0}.type-choice span{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:14px;padding:12px;cursor:pointer;font-weight:700;font-size:13px}.type-choice b{font-size:20px}.type-choice input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.form-fields{margin-top:18px}.hidden{display:none!important}.transaction-form label,.install-form label{display:block;font-size:12px;font-weight:700;margin-bottom:12px}.transaction-form input,.transaction-form select,.install-form input{display:block;width:100%;margin-top:6px;border:1px solid var(--border);background:#fbfcfc;border-radius:13px;padding:12px 13px;outline:none;color:var(--text)}.transaction-form input:focus,.transaction-form select:focus,.install-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.delete-form{text-align:center;margin-top:8px}.confirm-dialog{text-align:center;width:min(500px,100%);padding:30px}.confirm-icon{width:65px;height:65px;background:var(--primary-soft);display:grid;place-items:center;border-radius:50%;font-size:30px;margin:auto}.confirm-dialog h2{font-size:19px}.confirm-dialog p{color:var(--muted);font-size:13px;line-height:2}.dialog-actions{display:flex;gap:10px;justify-content:center}.settings-list{display:grid;gap:13px}.settings-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}.settings-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--primary-soft);border-radius:15px;font-size:22px}.settings-card h2{margin:0;font-size:16px}.settings-card p{margin:3px 0;color:var(--muted);font-size:12px}.settings-card small{color:var(--orange)}.settings-card.subtle{opacity:.8}.logout-form{text-align:center;margin-top:30px}.toast{position:fixed;left:25px;bottom:25px;z-index:200;background:#163a2b;color:#fff;padding:13px 18px;border-radius:13px;box-shadow:var(--shadow);animation:toastin .25s}.toast-error{background:#a52e33}.auth-page,.install-page{min-height:100vh;background:radial-gradient(circle at 15% 10%,#dcf7e9,transparent 30%),linear-gradient(145deg,#f8fcfa,#eff7f3);display:grid;place-items:center;padding:20px}.auth-card{background:rgba(255,255,255,.94);width:min(430px,100%);border:1px solid #e3eee8;border-radius:30px;padding:33px;text-align:center;box-shadow:0 25px 60px rgba(24,81,56,.1)}.auth-logo{width:75px;height:75px;border-radius:24px;background:var(--primary-soft);display:grid;place-items:center;font-size:37px;margin:auto}.auth-card h1{font-size:24px;margin:15px 0 3px}.auth-card>p{color:var(--muted);margin:0 0 20px}.pin-dots{display:flex;direction:ltr;justify-content:center;gap:12px;height:22px;margin:8px 0 18px}.pin-dots i{width:12px;height:12px;border-radius:50%;background:#dce5e1;transition:.15s}.pin-dots i.filled{background:var(--primary);transform:scale(1.08)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;direction:ltr}.keypad button{border:0;background:#f3f7f5;border-radius:14px;height:54px;font-size:20px;font-weight:700;cursor:pointer}.keypad button:active{background:var(--primary-soft)}.login-submit{margin-top:14px}.auth-note{display:block;margin-top:18px;color:var(--muted);font-size:10px}.alert{padding:11px;border-radius:12px;margin:12px 0;font-size:12px}.alert.error{background:var(--red-soft);color:#a82f34}.installer{width:min(760px,100%);margin:auto}.installer-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:25px}.installer-brand>span{font-size:36px}.installer-brand h1{margin:0;font-size:23px}.installer-brand p{margin:0;color:var(--muted);font-size:12px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.step{position:relative;text-align:center;color:#a2aca7;font-size:10px}.step:not(:last-child):after{content:'';position:absolute;height:2px;background:#dfe8e4;width:calc(100% - 38px);top:15px;right:calc(50% + 19px)}.step.done:not(:last-child):after{background:var(--primary)}.step b{position:relative;z-index:2;width:31px;height:31px;border-radius:50%;background:#e8eeeb;display:grid;place-items:center;margin:0 auto 5px}.step.active{color:var(--primary-dark);font-weight:800}.step.active b,.step.done b{background:var(--primary);color:#fff}.install-card{background:#fff;border:1px solid var(--border);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.install-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.install-title>span{font-size:30px}.install-title h2{margin:0}.install-title p{margin:2px 0;color:var(--muted);font-size:12px}.check-list{display:grid;gap:8px;margin-bottom:20px}.check-list>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:#f8faf9;border-radius:12px;padding:10px 12px}.check-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-weight:800}.check-icon.ok{background:var(--primary-soft);color:var(--primary)}.check-icon.bad{background:var(--red-soft);color:var(--red)}.check-list b{font-size:12px}.check-list small{color:var(--muted);font-size:10px}.two-cols{display:grid;grid-template-columns:2fr 1fr;gap:10px}.center{text-align:center}.success-orb{width:70px;height:70px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:36px;font-weight:800;display:grid;place-items:center;margin:auto}.install-card.center>p{color:var(--muted);max-width:520px;margin:5px auto 20px}.pin-install{max-width:420px;margin:auto;text-align:right}.pin-install small{display:block;color:var(--muted);font-size:10px;margin:-5px 0 15px}.celebrate{font-size:70px}.error-page{margin-top:15vh}
@keyframes fade{from{opacity:0}}@keyframes rise{from{opacity:0;transform:translateY(18px)}}@keyframes toastin{from{opacity:0;transform:translateY(10px)}}
@media(max-width:1050px){.session-stats{grid-template-columns:repeat(3,1fr)}.stats-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:14px}.sidebar{display:none}.main-content{margin:0;padding:24px 15px 105px}.bottom-nav{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-top:1px solid var(--border);padding:7px 8px max(7px,env(safe-area-inset-bottom));z-index:50}.bottom-nav .nav-item{display:flex;flex-direction:column;gap:1px;padding:5px}.bottom-nav .nav-item span{font-size:20px}.bottom-nav .nav-item b{font-size:10px}.page-head{margin-bottom:20px}.page-head h1{font-size:24px}.hero-card{padding:22px;border-radius:22px}.hero-amount{font-size:34px}.stats-grid,.session-stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat-card{padding:14px;border-radius:16px}.stat-card .stat-icon{margin-bottom:10px}.stat-card strong{font-size:14px}.session-card{display:block}.session-card .btn{width:100%;margin-top:15px}.history-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px}.history-strip>div{display:block}.history-strip i{display:none}.history-strip strong{display:block;margin-top:3px}.desktop-action{display:none}.session-row{display:block;padding:15px}.session-result{border-top:1px solid var(--border);margin-top:12px;padding-top:12px;justify-content:space-between}.session-result .btn{padding:9px 12px}.mobile-create{display:block;margin-top:15px}.result-card>strong{font-size:29px}.date-range{display:grid;gap:5px}.operations{padding:15px}.section-title .btn{padding:10px 12px}.transaction{gap:9px}.tx-icon{width:38px;height:38px}.tx-amount{font-size:13px}.more-btn{padding:7px}.complete-box{display:block}.complete-box .btn{width:100%;margin-top:13px}.settings-card{grid-template-columns:auto 1fr}.settings-card .btn{grid-column:1/-1;width:100%}.type-grid{grid-template-columns:1fr}.sheet{position:absolute;bottom:0;border-radius:25px 25px 0 0;max-height:90vh;padding:22px 18px}.modal-backdrop{padding:0;align-items:end}.confirm-dialog{align-self:center;margin:15px}.toast{left:15px;right:15px;bottom:85px;text-align:center}.auth-card{padding:27px 20px}.installer{padding:0}.steps span{display:none}.install-card{padding:20px}.two-cols{grid-template-columns:1fr}.check-list small{display:none}}
@media(display-mode:standalone){.main-content{padding-top:max(25px,env(safe-area-inset-top))}}

/* v1.1 — richer app cards, compact dates and guarded deletion */
.dashboard-stats,.session-stats{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.dashboard-stats .result-stat{background:linear-gradient(145deg,#f2fff8,#fff);border-color:#caead9}
.type-grid{grid-template-columns:repeat(3,1fr)}
.type-choice span{min-height:70px;flex-direction:column;justify-content:center;text-align:center;line-height:1.35}
.day-label{display:flex;justify-content:space-between;align-items:center;padding:13px 2px 8px;color:var(--muted);border-bottom:1px solid var(--border)}
.day-label strong{font-size:11px;color:#53655d;font-weight:800}
.day-label small{font-size:10px;direction:ltr;letter-spacing:.2px;color:#98a59f}
.delete-accounting-box{margin-top:14px;background:#fff;border:1px dashed #efb9bc;border-radius:18px;padding:16px 19px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.delete-accounting-box h2{font-size:14px;margin:0;color:#a52e33}.delete-accounting-box p{font-size:11px;color:var(--muted);margin:3px 0 0}
.confirm-icon.danger{background:var(--red-soft);color:var(--red)}
.confirm-dialog.destructive{border:1px solid #ffd3d5}.confirm-dialog.destructive>p strong{color:var(--red)}
.delete-accounting-form label{display:block;text-align:right;font-size:12px;font-weight:700;margin:18px 0}
.delete-accounting-form input{display:block;width:100%;margin-top:7px;border:1px solid #efc3c5;border-radius:13px;padding:12px;outline:none;text-align:center;font-weight:800;direction:ltr}
.delete-accounting-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.btn.danger-solid{background:var(--red);color:#fff}.btn.danger-solid:disabled{opacity:.38;cursor:not-allowed}

@media(max-width:760px){.dashboard-stats,.session-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats{gap:8px}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.type-choice span{min-height:76px;padding:10px 6px;font-size:11px}.type-choice b{font-size:22px}.delete-accounting-box{display:block}.delete-accounting-box .btn{width:100%;margin-top:12px}.day-label{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);z-index:2}.auth-card{border-radius:26px}.keypad button{height:56px;border-radius:16px}}

/* v1.2 — all-accounting overview */
.head-actions{display:flex;align-items:center;gap:9px}.total-trigger{height:45px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}
.grand-total-sheet{width:min(680px,100%)}.grand-result{background:linear-gradient(135deg,#0d8d5b,#24b879);color:#fff;border-radius:20px;padding:20px;text-align:center;margin-bottom:14px}.grand-result.negative{background:linear-gradient(135deg,#cf3d44,#ef6469)}.grand-result small{opacity:.8}.grand-result strong{display:block;font-size:32px;direction:ltr;margin:3px 0}.grand-result p{font-size:11px;margin:0;opacity:.8}.grand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grand-grid article{display:flex;align-items:center;gap:10px;background:#f7faf8;border:1px solid var(--border);padding:11px;border-radius:14px}.grand-grid article>span{width:34px;height:34px;display:grid;place-items:center;background:#fff;border-radius:11px}.grand-grid small{display:block;color:var(--muted);font-size:10px}.grand-grid strong{display:block;font-size:13px;direction:ltr;text-align:right}.grand-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:15px;padding:13px;margin-top:10px;text-align:center}.grand-flow i{width:1px;height:30px;background:var(--border)}.grand-flow small{display:block;color:var(--muted);font-size:10px}.grand-flow strong{font-size:15px;direction:ltr;display:block}
@media(max-width:760px){.head-actions .icon-btn{display:none}.total-trigger{padding:10px 12px;font-size:11px}.grand-total-sheet{padding-bottom:max(24px,env(safe-area-inset-bottom))}.grand-result strong{font-size:27px}.grand-grid{grid-template-columns:1fr 1fr}.grand-grid article{padding:9px;gap:7px}.grand-grid article>span{width:30px;height:30px}.tx-info time{font-size:9px;white-space:nowrap}}

/* v1.3 — permanent activity history */
.activity-section{margin-top:28px;background:#fff;border:1px solid var(--border);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.activity-title{margin-bottom:8px}.activity-count{font-size:11px;font-weight:800;color:var(--primary-dark);background:var(--primary-soft);padding:6px 10px;border-radius:99px}.activity-list{display:grid}.activity-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf2ef}.activity-item:last-child{border-bottom:0}.activity-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);font-size:18px}.activity-icon.warning{background:var(--red-soft)}.activity-body{min-width:0}.activity-body h3{font-size:13px;margin:0}.activity-body>p{font-size:11px;color:#65746d;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-meta{display:flex;gap:12px;flex-wrap:wrap;color:#98a39e;font-size:9px;margin-top:4px}.activity-meta .ip{direction:ltr}.activity-item>time{display:grid;justify-items:end;min-width:88px;color:var(--muted)}.activity-item>time b{font-size:10px}.activity-item>time span{font-size:9px;direction:ltr}.activity-item>time small{font-size:9px}.activity-pagination{margin:20px 0 8px;align-items:center;flex-wrap:wrap}.activity-pagination a{width:auto;min-width:36px;padding:0 10px}.activity-pagination span{color:var(--muted)}.activity-retention{text-align:center;color:var(--muted);font-size:9px;margin:9px 0 0}
@media(max-width:760px){.activity-section{padding:15px;margin-top:20px}.activity-item{grid-template-columns:auto 1fr;gap:9px}.activity-item>time{grid-column:2;display:flex;justify-content:flex-start;gap:5px;min-width:0;margin-top:-7px}.activity-body>p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-meta{gap:7px}.activity-icon{width:36px;height:36px}.activity-pagination{gap:5px}.activity-pagination a{font-size:10px;padding:0 8px}}

/* v1.4 — progressive IP city lookup */
.activity-location.locating{color:var(--orange);animation:locationPulse 1.4s ease-in-out infinite}.activity-location{transition:color .25s}@keyframes locationPulse{50%{opacity:.48}}
