:root{--bg:#f4f6f8;--panel:#fff;--ink:#17202a;--muted:#77808d;--line:#e7eaee;--primary:#6c5ce7;--primary-dark:#5546d7;--blue:#377dff;--green:#19a974;--red:#e5484d;--yellow:#e8a317;--shadow:0 12px 35px rgba(28,35,52,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button,a{transition:.18s ease}a{color:inherit;text-decoration:none}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.project-switcher{position:relative}.project-button,.brand{border:0;background:none;display:flex;align-items:center;gap:12px;font-weight:800;font-size:15px;cursor:pointer;padding:7px}.project-mark,.logo{display:grid;place-items:center;background:linear-gradient(135deg,#7667ef,#5040d3);color:#fff;border-radius:11px;font-weight:800}.project-mark{width:36px;height:36px}.chevron{color:var(--muted)}.menu{position:absolute;top:51px;left:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:230px;padding:7px;z-index:20}.menu a{display:block;padding:11px 12px;border-radius:8px;font-weight:600}.menu a:hover{background:#f2f0ff;color:var(--primary)}.hidden{display:none}.top-actions{display:flex;align-items:center;gap:16px}.top-actions form{margin:0}.user-name{color:var(--muted)}.icon-link{font-size:21px}.link-button{border:0;background:none;color:var(--primary);cursor:pointer;padding:4px}.page{max-width:1560px;margin:0 auto;padding:38px 34px 70px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.page-head h1{font-size:29px;margin:3px 0 5px;letter-spacing:-.7px}.page-head p{margin:0;color:var(--muted)}.eyebrow{color:var(--primary)!important;font-size:11px;font-weight:800;letter-spacing:1.5px}.primary,.secondary,.button{border:0;border-radius:9px;padding:12px 18px;font-weight:700;cursor:pointer;display:inline-block}.primary{background:var(--primary);color:white;box-shadow:0 5px 13px rgba(108,92,231,.22)}.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.secondary{background:#eff1f4;color:var(--ink)}.wide{width:100%}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.table-toolbar{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}h2{margin:0 0 4px;font-size:18px}.table-toolbar p{margin:0;color:var(--muted);font-size:12px}.search{width:220px;background:#f7f8fa;border:1px solid var(--line);border-radius:9px;padding:10px 13px;outline:none}.search:focus,input:focus,textarea:focus{border-color:#aa9ff5;box-shadow:0 0 0 3px rgba(108,92,231,.1)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#9299a3;text-align:left;background:#fbfbfc;padding:13px 15px;white-space:nowrap}td{padding:15px;border-top:1px solid #eff1f3;vertical-align:middle}tbody tr:hover{background:#fcfcff}.status{border:0;border-radius:99px;padding:7px 10px;font-weight:700;font-size:11px;white-space:nowrap}.status-new{background:#eaf2ff;color:var(--blue)}.status-active{background:#e7f8f1;color:var(--green)}.status-lost{background:#ffeded;color:var(--red)}.status-installing{background:#fff5da;color:#b47700}.days{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#f2f3f5;font-weight:700}.copy-cell{border:0;background:none;text-align:left;padding:0;cursor:pointer;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-cell:hover{color:var(--primary)}.domain{font-weight:700}.credentials{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.metric{font-weight:700;font-variant-numeric:tabular-nums}.manage{color:var(--primary);font-weight:700;white-space:nowrap;font-size:12px}.empty-table,.empty-state{text-align:center;padding:72px 20px;color:var(--muted)}.empty-table h3,.empty-state h1{color:var(--ink);margin-bottom:5px}.empty-icon,.empty-table>div{font-size:34px;color:var(--primary)}.modal{width:min(520px,calc(100% - 28px));border:0;border-radius:16px;padding:26px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal::backdrop{background:rgba(17,22,33,.55);backdrop-filter:blur(2px)}.modal-head{display:flex;justify-content:space-between}.close{border:0;background:#f1f2f4;border-radius:50%;width:34px;height:34px;font-size:22px;cursor:pointer}.stack{display:flex;flex-direction:column;gap:17px}.stack label{font-weight:700;font-size:12px}.stack input,.stack textarea{width:100%;display:block;margin-top:7px;border:1px solid #dfe3e8;border-radius:9px;padding:11px 12px;outline:none;background:#fff}.stack textarea{resize:vertical}.stack small,.list-item small,td small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.toast{position:fixed;right:25px;bottom:25px;background:#222b36;color:#fff;padding:12px 18px;border-radius:9px;opacity:0;transform:translateY(8px);pointer-events:none}.toast.show{opacity:1;transform:none}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#eeebff 0,#f5f6f8 45%)}.auth-card{width:min(410px,calc(100% - 28px));background:#fff;padding:38px;border-radius:18px;box-shadow:0 25px 70px rgba(35,40,60,.12)}.auth-card .logo{width:48px;height:48px;margin-bottom:28px}.auth-card h1{margin:0 0 7px;font-size:25px}.auth-card>p{color:var(--muted);margin:0 0 25px}.alert{background:#ffeded;color:#ba262b;padding:11px;border-radius:8px;margin-bottom:18px}.back{display:inline-block;color:var(--muted);margin-bottom:25px}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px}.form-panel,.audit{padding:25px}.form-panel h2,.audit h2{margin-bottom:22px}.metric-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.event{display:grid;grid-template-columns:13px 1fr;gap:9px;padding:11px 0;border-bottom:1px solid var(--line)}.event-dot{width:8px;height:8px;background:var(--primary);border-radius:50%;margin-top:5px}.event p{margin:3px 0;color:var(--muted);font-size:11px}.muted{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.item-list{margin-top:24px;border-top:1px solid var(--line)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.list-item a{color:var(--primary);font-weight:700;font-size:12px}fieldset{border:1px solid var(--line);border-radius:9px;padding:12px}legend{font-weight:700;font-size:12px}.checks{display:flex;flex-wrap:wrap;gap:10px}.check{display:flex!important;align-items:center;gap:7px;font-weight:600!important}.check input{width:auto!important;margin:0!important}.users-panel{margin-top:22px;padding:24px}.state{font-size:11px;font-weight:700}.state.on{color:var(--green)}.state.off{color:var(--red)}
@media(max-width:900px){.detail-grid,.settings-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.page{padding:25px 16px}.user-name{display:none}.page-head{align-items:flex-start;gap:18px}.metric-grid{grid-template-columns:1fr}.table-toolbar{gap:12px}.search{width:150px}}
@media(max-width:560px){.page-head{flex-direction:column}.page-head .primary{width:100%;text-align:center}.two-col{grid-template-columns:1fr}.auth-card{padding:27px}.project-button{padding-left:0}}
.item-actions{display:flex;align-items:center;gap:14px}.item-actions form{margin:0}.danger-link{border:0;background:none;color:var(--red);font-weight:700;font-size:12px;padding:3px;cursor:pointer}.danger-link:hover{color:#b42328}.project-button span:nth-child(2),.list-item>span{min-width:0}.list-item strong,.list-item small{overflow-wrap:anywhere}
@media(max-width:760px){
  .table-panel,.users-panel{background:transparent;border:0;box-shadow:none}.table-panel .table-toolbar{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px}.table-panel .table-wrap,.users-panel .table-wrap{overflow:visible}.table-panel table,.users-panel table,.table-panel tbody,.users-panel tbody{display:block}.table-panel thead,.users-panel thead{display:none}.table-panel tbody tr,.users-panel tbody tr{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-bottom:12px;padding:7px 14px}.table-panel tbody tr[hidden],.users-panel tbody tr[hidden]{display:none}.table-panel td,.users-panel td{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;border-top:1px solid var(--line);padding:11px 0;text-align:right;min-height:42px}.table-panel td:first-child,.users-panel td:first-child{border-top:0}.table-panel td::before,.users-panel td::before{content:attr(data-label);color:#9299a3;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-align:left}.table-panel td>*:not(input),.users-panel td>*:not(input){justify-self:end}.table-panel td form,.users-panel td form{margin:0}.copy-cell{max-width:min(100%,330px);text-align:right}.table-panel .days{display:grid}.users-panel{padding:0}.users-panel>h2{margin:0 0 14px}.settings-grid{gap:14px}.form-panel,.audit{padding:20px}.list-item{gap:14px}.item-actions{flex-direction:column;align-items:flex-end;gap:8px}.search{width:min(180px,45vw)}
}
@media(max-width:420px){.topbar{height:64px;padding:0 10px}.top-actions{gap:9px}.project-button{gap:8px}.project-mark{width:32px;height:32px}.project-button span:nth-child(2){max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:20px 10px 50px}.page-head h1{font-size:24px}.table-toolbar{padding:17px 14px;align-items:flex-start}.table-toolbar p{display:none}.search{width:44%;padding:9px}.table-panel tbody tr,.users-panel tbody tr{padding:5px 11px}.table-panel td,.users-panel td{grid-template-columns:96px minmax(0,1fr);gap:8px}.copy-cell{max-width:190px}.modal{padding:19px}.form-panel,.audit{padding:17px}.metric-grid{gap:10px}.list-item{align-items:flex-start}.auth-card{padding:24px 20px}.top-actions .link-button{font-size:12px}}
.comments-panel{grid-column:1/-1;padding:25px}.comments-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.comments-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.comment-form{display:flex;align-items:flex-end;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}.comment-form textarea{flex:1;min-width:0;border:1px solid #dfe3e8;border-radius:10px;padding:12px;resize:vertical;outline:none}.comment{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.comment:last-child{border-bottom:0}.comment-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eeebff;color:var(--primary);font-weight:800}.comment-meta{display:flex;align-items:center;gap:9px}.comment-meta time{color:var(--muted);font-size:11px}.comment-content p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;line-height:1.55}.comment form{margin:0}.comment-delete{border:0;background:#f4f5f7;color:var(--muted);border-radius:50%;width:28px;height:28px;font-size:18px;cursor:pointer}.comment-delete:hover{background:#ffeded;color:var(--red)}.comments-empty{text-align:center;color:var(--muted);padding:30px 10px}
@media(max-width:560px){.comments-panel{padding:17px}.comment-form{align-items:stretch;flex-direction:column}.comment-form .primary{width:100%}.comment{grid-template-columns:34px minmax(0,1fr) 28px;gap:9px}.comment-avatar{width:34px;height:34px}.comment-meta{align-items:flex-start;flex-direction:column;gap:2px}}
.access-comments-row>td{padding:0 15px 13px;border-top:0}.access-comments-row:hover{background:transparent}.inline-comments{background:#f8f8fb;border-radius:10px}.inline-comments summary{cursor:pointer;padding:10px 13px;color:var(--primary);font-size:12px;font-weight:700;list-style:none}.inline-comments summary::-webkit-details-marker{display:none}.inline-comments summary::before{content:'›';display:inline-block;margin-right:7px;transition:transform .18s}.inline-comments[open] summary::before{transform:rotate(90deg)}.inline-comments summary span{display:inline-grid;place-items:center;margin-left:5px;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#e9e6ff}.inline-comments-body{padding:0 13px 12px}.inline-comment-form{display:flex;gap:9px;align-items:flex-end;margin-bottom:10px}.inline-comment-form textarea{flex:1;min-width:0;border:1px solid #dfe3e8;border-radius:8px;padding:9px 10px;resize:vertical;outline:none}.inline-comment-form .primary{padding:10px 14px}.inline-comment{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.inline-comment strong{font-size:12px}.inline-comment time{color:var(--muted);font-size:10px;margin-left:8px}.inline-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;line-height:1.45}.inline-comment form{margin:0}.inline-empty{margin:8px 0 2px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:-8px 0 22px}.stat-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 19px;box-shadow:var(--shadow)}.stat-card>div:last-child{display:flex;flex-direction:column-reverse;gap:2px;min-width:0}.stat-card span{color:var(--muted);font-size:11px;font-weight:600}.stat-card strong{font-size:25px;line-height:1;overflow:hidden;text-overflow:ellipsis}.stat-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:11px;font-size:19px;font-weight:800}.stat-total{background:#eeebff;color:var(--primary)}.stat-active{background:#e7f8f1;color:var(--green)}.stat-today{background:#eaf2ff;color:var(--blue)}.stat-traffic{background:#fff5da;color:#b47700}.access-number{font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}.autologin-badge{display:inline-block;border-radius:99px;background:#f0edff;color:var(--primary);padding:6px 9px;font-size:10px;font-weight:700;white-space:nowrap}.table-controls{display:flex;align-items:flex-end;gap:10px}.sort-control{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.sort-control select{min-width:210px;border:1px solid var(--line);border-radius:9px;background:#f7f8fa;padding:9px 11px;color:var(--ink);font-size:11px;font-weight:600;outline:none;text-transform:none;letter-spacing:0}
@media(max-width:760px){.table-panel tbody tr.access-comments-row{margin-top:-18px;padding:0 8px 8px;border-top:0;border-radius:0 0 14px 14px;box-shadow:var(--shadow)}.table-panel .access-comments-row>td{display:block;padding:0;border:0;text-align:left;min-height:0}.table-panel .access-comments-row>td::before{display:none}.table-panel .access-comments-row>td>*{justify-self:stretch}.inline-comments{width:100%}}
@media(max-width:560px){.inline-comment-form{align-items:stretch;flex-direction:column}.inline-comment-form .primary{width:100%}.inline-comment{gap:7px}.inline-comment time{display:block;margin:2px 0 0}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:-5px}.stat-card{padding:13px;gap:10px}.stat-icon{width:36px;height:36px}.stat-card strong{font-size:21px}.stat-card span{font-size:9px}}
@media(max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}.table-controls{width:100%}.table-toolbar{align-items:flex-end;flex-wrap:wrap}.sort-control{flex:1}.sort-control select{width:100%;min-width:0}.table-controls .search{flex:1;width:auto;min-width:130px}}
@media(max-width:480px){.table-controls{align-items:stretch;flex-direction:column}.table-controls .search{width:100%}.sort-control select{width:100%}}
.project-item{border-bottom:1px solid var(--line);padding-bottom:15px}.project-item:last-child{border-bottom:0}.project-item .list-item{border-bottom:0;padding-bottom:9px}.sync-state{margin:7px 0 0;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.sync-state.sync-ok{color:var(--green)}.sync-state.sync-error{color:var(--red)}.stats-notice{margin:-12px 0 18px;color:var(--muted);font-size:11px}.stats-notice.error{color:var(--red)}
@media(max-width:560px){.project-item{padding-bottom:18px}}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.comment-trigger{display:inline-flex;align-items:center;gap:5px;border:0;background:#f0edff;color:var(--primary);border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.comment-trigger:hover{background:#e4dfff}.comment-trigger span{display:grid;place-items:center;min-width:18px;height:18px;border-radius:99px;background:var(--primary);color:#fff;font-size:9px}.modal-subtitle{max-width:390px;margin:4px 0 0;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.table-panel td .row-actions{display:flex;justify-self:end}.row-actions{flex-wrap:wrap}}
@media(max-width:420px){.row-actions{align-items:flex-end;flex-direction:column;gap:7px}.comment-trigger{padding:6px 8px}}
.status-check{background:#f0edff;color:var(--primary)}.check-actions{margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.check-actions>div:first-child p{margin:4px 0 13px;color:var(--muted);font-size:11px}.check-buttons{display:flex;flex-wrap:wrap;gap:9px}.check-buttons form{margin:0}.check-button{border:1px solid #cfc8ff;background:#f7f5ff;color:var(--primary);border-radius:9px;padding:10px 13px;font-size:11px;font-weight:700;cursor:pointer}.check-button:hover{background:#ebe7ff;border-color:#aa9ff5}
@media(max-width:560px){.check-buttons,.check-buttons form,.check-button{width:100%}}
