.docker-user { display:flex; align-items:center; gap:6px; margin-right:3px; }
.docker-user span { max-width:120px; overflow:hidden; color:#aeb7c6; font:10px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }
.docker-user button { border-color:#3a4353!important; color:#c6cbd5!important; }
.account-status-button.docker-connected { border-color:#3a4353; background:#111620; color:#d8dce5; }
.account-status-button.docker-connected i { background:#58d99f; box-shadow:0 0 10px rgba(88,217,159,.78); }
.docker-login { padding:8px 12px; border:1px solid #526ba9; border-radius:8px; background:#27385f; color:#e7ecff; font-size:11px; font-weight:700; text-decoration:none; }
html[data-docker-access="guest"] .tab[data-tab="planner"]::after { content:"🔒"; margin-left:6px; font-size:9px; opacity:.72; }
html[data-docker-access="guest"] .projects-button,
html[data-docker-access="guest"] .requests-button,
html[data-docker-access="guest"] .users-button,
html[data-docker-access="guest"] .audit-button { display:none!important; }
.requests-button { position:relative; }
.requests-badge { position:absolute; top:-6px; right:-6px; display:grid; min-width:17px; height:17px; padding:0 4px; place-items:center; border-radius:20px; background:#7c9cff; color:#080b12; font-size:9px; font-weight:800; }
.requests-badge[hidden],.requests-message[hidden] { display:none!important; }
.requests-dialog { width:min(620px,calc(100% - 24px)); max-height:calc(100vh - 40px); padding:0; overflow:hidden; border:1px solid #2a303d; border-radius:16px; background:#11141c; color:#f2f4f8; box-shadow:0 30px 100px rgba(0,0,0,.65); }
.requests-dialog::backdrop { background:rgba(2,4,9,.78); backdrop-filter:blur(4px); }
.requests-head { display:flex; align-items:center; justify-content:space-between; padding:24px 26px 17px; border-bottom:1px solid #2a303d; }
.requests-head p { margin:0 0 5px; color:#7c9cff; font-size:9px; font-weight:800; letter-spacing:.15em; }
.requests-head h2 { margin:0; font-size:23px; }
.requests-close { width:34px; height:34px; padding:0; border:1px solid #343b49; border-radius:8px; background:#0b0e15; color:#aeb7c6; font-size:21px; cursor:pointer; }
.requests-info { margin:0; padding:17px 26px 8px; color:#8b93a3; font-size:12px; }
.requests-list { display:grid; gap:10px; max-height:54vh; padding:10px 26px 26px; overflow:auto; }
.request-card { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:15px; border:1px solid #2a303d; border-radius:10px; background:#0b0e15; }
.request-card>div:first-child { display:grid; min-width:0; gap:3px; }
.request-card strong { font-size:13px; }
.request-card span,.request-card a { overflow:hidden; color:#8b93a3; font:10px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }
.request-card a { color:#9bb2ff; }
.request-actions { display:flex; flex-shrink:0; gap:7px; }
.request-actions button { padding:8px 10px; border:1px solid #343b49; border-radius:7px; color:#d8dce5; cursor:pointer; }
.request-actions .approve { border-color:#526ba9; background:#27385f; }
.request-actions .reject { background:#1a1419; color:#efaaaa; }
.requests-empty { margin:20px 0; color:#8b93a3; text-align:center; }
.requests-message { margin:0 26px 22px; color:#ff9292; font-size:12px; }
.users-button { display:flex!important; align-items:center; gap:6px; }
.users-count { display:grid; min-width:18px; height:18px; padding:0 5px; place-items:center; border-radius:999px; background:#27385f; color:#b9c9ff; font-size:9px; font-weight:800; }
.users-dialog { width:min(1040px,calc(100% - 24px)); }
.users-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:18px 26px 2px; }
.users-summary div { display:grid; gap:2px; padding:13px 14px; border:1px solid #2a303d; border-radius:9px; background:#0b0e15; }
.users-summary strong { color:#dfe6fa; font:700 18px ui-monospace,SFMono-Regular,Menlo,monospace; }
.users-summary span { color:#7f899a; font-size:9px; letter-spacing:.04em; text-transform:uppercase; }
.users-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:8px; padding:18px 26px 4px; }
.users-toolbar input,.users-toolbar select { height:40px; padding:0 11px; border:1px solid #343b49; border-radius:8px; outline:none; background:#0b0e15; color:#f2f4f8; }
.users-toolbar input:focus,.users-toolbar select:focus { border-color:#7c9cff; box-shadow:0 0 0 3px rgba(124,156,255,.12); }
.users-table-wrap { max-height:58vh; margin:14px 26px 26px; overflow:auto; border:1px solid #2a303d; border-radius:10px; background:#0b0e15; }
.users-table { width:100%; min-width:900px; border-collapse:collapse; font-size:11px; }
.users-table th { position:sticky; top:0; z-index:1; padding:10px 12px; border-bottom:1px solid #303746; background:#151a24; color:#7f899a; font-size:9px; font-weight:700; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.users-table td { padding:12px; border-bottom:1px solid #252b37; color:#b8c0cf; vertical-align:middle; }
.users-table tbody tr:last-child td { border-bottom:0; }
.users-table tbody tr:hover { background:#111722; }
.users-table .actions-column { text-align:right; }
.user-identity { display:flex; align-items:center; gap:10px; min-width:180px; }
.user-identity>div { display:grid; min-width:0; gap:3px; }
.user-identity strong { max-width:190px; overflow:hidden; color:#edf1f8; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.user-avatar { display:grid; width:32px; height:32px; flex:0 0 auto; place-items:center; border:1px solid #3b4760; border-radius:9px; background:linear-gradient(145deg,#27385f,#192238); color:#cbd7ff; font-size:10px; font-weight:800; }
.user-status { padding:3px 7px; border-radius:999px; font:700 8px ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.03em; text-transform:uppercase; }
.user-status.active { background:#1d302c; color:#8bd8c0; }
.user-status.blocked { background:#311d24; color:#f2a4b3; }
.user-status.pending { background:#302a1c; color:#e0c17e; }
.user-status.admin { background:#27385f; color:#b9c9ff; }
.user-login,.user-email,.user-date { overflow:hidden; color:#8b93a3; font:10px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }
.user-email { color:#9bb2ff; }
.user-email.empty { color:#687181; }
.user-date { color:#9aa3b2; }
.user-projects { color:#d6deef!important; font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center; }
.user-actions-cell { text-align:right; }
.user-actions { display:flex; justify-content:flex-end; gap:6px; }
.user-actions button { padding:8px 10px; border:1px solid #343b49; border-radius:7px; background:#111620; color:#d8dce5; cursor:pointer; }
.user-actions .user-unblock { border-color:#526ba9; background:#27385f; }
.user-actions .user-block { background:#211c18; color:#e0c17e; }
.user-actions .user-delete { background:#1a1419; color:#efaaaa; }
.user-system { color:#687181; font-size:9px; white-space:nowrap; }
.users-empty { height:110px; color:#8b93a3!important; text-align:center; }
.projects-dialog { width:min(680px,calc(100% - 24px)); max-height:calc(100vh - 40px); padding:0; overflow:hidden; border:1px solid #2a303d; border-radius:16px; background:#11141c; color:#f2f4f8; box-shadow:0 30px 100px rgba(0,0,0,.65); }
.projects-dialog::backdrop { background:rgba(2,4,9,.78); backdrop-filter:blur(4px); }
.project-scopes { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:18px 26px 0; padding:4px; border:1px solid #2a303d; border-radius:9px; background:#0b0e15; }
.project-scopes button { padding:8px; border:0; border-radius:6px; background:transparent; color:#8b93a3; cursor:pointer; }
.project-scopes button.active { background:#202638; color:#f2f4f8; }
.projects-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:8px; padding:16px 26px 0; }
.projects-toolbar input,.projects-toolbar select { height:40px; padding:0 11px; border:1px solid #343b49; border-radius:8px; outline:none; background:#0b0e15; color:#f2f4f8; }
.project-save { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; padding:16px 26px 20px; border-bottom:1px solid #2a303d; }
.project-save[hidden] { display:none; }
.project-fields { display:grid; gap:10px; }
.project-save label span { display:block; margin-bottom:6px; color:#8b93a3; font-size:11px; }
.project-name { width:100%; height:42px; padding:0 12px; border:1px solid #343b49; border-radius:8px; outline:none; background:#0b0e15; color:#f2f4f8; }
.project-description,.comment-form textarea { width:100%; min-height:64px; padding:10px 12px; resize:vertical; border:1px solid #343b49; border-radius:8px; outline:none; background:#0b0e15; color:#f2f4f8; font:12px inherit; }
.project-name:focus,.project-description:focus,.comment-form textarea:focus { border-color:#7c9cff; box-shadow:0 0 0 3px rgba(124,156,255,.12); }
.project-save-actions { display:grid; gap:7px; }
.project-save-button { height:42px; padding:0 14px; border:0; border-radius:8px; background:#7c9cff; color:#080b12; font-weight:750; cursor:pointer; }
.project-new-button,.project-back { padding:8px 10px; border:1px solid #343b49; border-radius:7px; background:transparent; color:#aeb7c6; cursor:pointer; }
.project-save-button:disabled { opacity:.55; cursor:wait; }
.projects-message { margin:14px 26px 0; color:#ff9292; font-size:12px; }
.projects-message.success { color:#9bb2ff; }
.projects-message[hidden] { display:none!important; }
.projects-list { display:grid; gap:10px; max-height:52vh; padding:18px 26px 26px; overflow:auto; }
.projects-empty { margin:20px 0; color:#8b93a3; text-align:center; }
.project-card { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:15px; border:1px solid #2a303d; border-radius:10px; background:#0b0e15; }
.project-card>div:first-child { display:grid; min-width:0; gap:4px; }
.project-card strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.project-card em { color:#9bb2ff; font:normal 10px ui-monospace,SFMono-Regular,Menlo,monospace; }
.project-card p { max-width:400px; margin:2px 0; overflow:hidden; color:#aeb7c6; font-size:11px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.project-card span,.project-card small { overflow:hidden; color:#8b93a3; font:10px ui-monospace,SFMono-Regular,Menlo,monospace; text-overflow:ellipsis; white-space:nowrap; }
.project-card small { color:#687181; }
.project-card-actions { display:flex; flex-shrink:0; gap:7px; }
.project-card-actions { flex-wrap:wrap; justify-content:flex-end; max-width:300px; }
.project-card-actions button { padding:8px 10px; border:1px solid #343b49; border-radius:7px; background:#111620; color:#d8dce5; cursor:pointer; }
.project-card-actions .project-load { border-color:#526ba9; background:#27385f; }
.project-card-actions .project-delete { background:#1a1419; color:#efaaaa; }
.project-detail { max-height:56vh; padding:18px 26px 26px; overflow:auto; }
.project-detail h3 { margin:16px 0; color:#f2f4f8; font-size:16px; }
.project-detail-body { display:grid; gap:9px; }
.history-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; border:1px solid #2a303d; border-radius:8px; background:#0b0e15; }
.history-row span { color:#aeb7c6; font-size:11px; }
.history-row button,.comment-form button { padding:7px 9px; border:1px solid #526ba9; border-radius:7px; background:#27385f; color:#e4e9f5; cursor:pointer; }
.comments-list { display:grid; gap:8px; }
.comment-row { display:grid; gap:4px; padding:11px; border:1px solid #2a303d; border-radius:8px; background:#0b0e15; }
.comment-row strong { color:#9bb2ff; font-size:10px; }.comment-row span { color:#d8dce5; font-size:12px; white-space:pre-wrap; }.comment-row small { color:#687181; font-size:9px; }
.comment-form { display:grid; gap:8px; margin-top:8px; }.comment-form button { justify-self:end; }
.audit-list { display:grid; gap:8px; max-height:65vh; padding:18px 26px 26px; overflow:auto; }
.audit-list article { display:grid; grid-template-columns:auto 1fr auto; gap:5px 12px; padding:11px 12px; border:1px solid #2a303d; border-radius:8px; background:#0b0e15; }
.audit-list strong { color:#9bb2ff; font:10px ui-monospace,SFMono-Regular,Menlo,monospace; }.audit-list span,.audit-list small { color:#8b93a3; font-size:10px; }.audit-list p { grid-column:1/-1; margin:0; color:#c6cbd5; font-size:11px; }
.docker-toast { position:fixed; right:20px; bottom:20px; z-index:1000; padding:11px 14px; border:1px solid #526ba9; border-radius:9px; background:#171e2c; color:#dfe6fa; box-shadow:0 14px 40px rgba(0,0,0,.45); font-size:12px; }
@media(max-width:720px){.docker-user span{display:none}.docker-user{margin-right:0}}
@media(max-width:720px){.projects-button{font-size:0!important}.projects-button::after{content:"Проекты";font-size:11px}}
@media(max-width:700px){.users-summary{grid-template-columns:1fr 1fr;padding-left:18px;padding-right:18px}.users-table-wrap{margin-left:18px;margin-right:18px}}
@media(max-width:560px){.request-card,.project-card{align-items:flex-start;flex-direction:column}.request-actions,.project-card-actions{width:100%;max-width:none}.request-actions button,.project-card-actions button{flex:1}.requests-head,.requests-info,.requests-list,.projects-list,.project-detail,.audit-list{padding-left:18px;padding-right:18px}.project-save{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.projects-toolbar,.users-toolbar{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.project-scopes{margin-left:18px;margin-right:18px}.projects-message{margin-left:18px;margin-right:18px}.history-row{align-items:flex-start;flex-direction:column}.history-row button{width:100%}}
