	    .row { display:flex; gap:12px; align-items: center; flex-wrap: wrap; }
	    .flash { display:none; position:fixed; right:16px; top:16px; background:#ecfff1; color:#126b2e; border:1px solid #c7f0d1; padding:8px 12px; border-radius:8px; }
	    .error { display:none; position:fixed; right:16px; top:16px; background:#ffecec; color:#b30000; border:1px solid #f0c7c7; padding:8px 12px; border-radius:8px; }
	    .share-list { display:flex; flex-direction:column; gap:10px; margin-top:6px; }
	    .share-row { border:1px solid #dfe4ea; border-radius:10px; padding:12px; background:#fff; display:flex; flex-direction:column; gap:8px; }
	    .share-row-line { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
	    .share-row-line input { flex:1 1 260px; min-width:220px; }
	    .share-meta { font-size:13px; color:#555; }
	    .status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:2px 10px; font-size:12px; font-weight:600; text-transform:none; }
	    .status-pill.active { background:#e5f8ea; color:#116b2a; }
	    .status-pill.expired { background:#fff0d9; color:#7a5205; }
	    .status-pill.revoked { background:#ffe4e4; color:#8a1a1a; }
	    .section-card { border:1px solid #e6eaf0; border-radius:14px; background:#fff; margin:14px 0; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,0.04); }
	    .section-card summary { list-style:none; cursor:pointer; padding:12px 14px; display:flex; align-items:center; gap:12px; user-select:none; }
	    .section-card summary::-webkit-details-marker { display:none; }
	    .section-card summary::after { content:'▸'; margin-left:auto; color:#667; font-size:14px; line-height:1; }
	    .section-card[open] summary { border-bottom:1px solid #eef2f6; background:#fafcff; }
	    .section-card[open] summary::after { content:'▾'; }
	    .section-icon { width:28px; height:28px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#eef2ff,#f1fff7); border:1px solid #e6eaf0; flex:0 0 auto; }
	    .section-icon svg { width:18px; height:18px; }
	    .section-title { font-family:'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; font-weight:800; }
	    .section-body { padding:0 14px 14px 14px; }
	    .section-body > h3 { display:none; }
	    .mini-table td input[type="password"] { min-width:180px; }
	    .mini-table td select { min-width:160px; }
	    .table-wrap { overflow-x:auto; }
	    .section-card { position:relative; background:linear-gradient(180deg,#fff 0%, #f8fafc 100%); }
	    .section-card::before { content:''; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#e53935,#f59e0b); opacity:.65; }
	    .section-card summary { background:linear-gradient(90deg,#fff,#f8fafc); }
	    .icon-btn { display:inline-flex; align-items:center; gap:6px; }
	    .icon-btn .btn-ico { width:16px; height:16px; display:inline-flex; }
	    .btn.ghost { background:#fff; color:#1f2937; border-color:#d0d7de; }
	    .btn.ghost:hover { background:#f8fafc; border-color:#cbd5e1; }
	    .notice-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:12px; }
	    .notice-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:12px; box-shadow:0 8px 20px rgba(15,23,42,.04); }
	    .notice-head { display:flex; gap:10px; align-items:center; margin-bottom:8px; }
	    .notice-icon { width:34px; height:34px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#ffe4e6,#fff7ed); border:1px solid #f1d0d0; flex:0 0 auto; }
	    .notice-icon svg { width:18px; height:18px; }
	    html.theme-aliens .section-card {
	      background: linear-gradient(180deg, rgba(7, 12, 10, 0.98), rgba(4, 8, 6, 0.95));
	      border-color: rgba(120, 255, 180, 0.25);
	      box-shadow: 0 18px 40px rgba(0,0,0,.6);
	    }
	    html.theme-aliens .section-card::before {
	      background: linear-gradient(90deg, rgba(140,255,180,.0), rgba(140,255,180,.7), rgba(255,210,120,.55), rgba(140,255,180,.15));
	      opacity: .85;
	    }
	    html.theme-aliens .section-card summary {
	      background: linear-gradient(90deg, rgba(6, 12, 10, 0.98), rgba(8, 14, 12, 0.9));
	      color: #e9ffee;
	    }
	    html.theme-aliens .section-icon {
	      background: linear-gradient(135deg, rgba(120, 255, 180, 0.2), rgba(255, 210, 120, 0.12));
	      border-color: rgba(120, 255, 180, 0.35);
	      color: #caffdf;
	    }
	    html.theme-aliens .share-row,
	    html.theme-aliens .notice-card {
	      background: rgba(6, 12, 10, 0.95);
	      border-color: rgba(120, 255, 180, 0.25);
	      box-shadow: 0 14px 30px rgba(0,0,0,.5);
	    }
	    html.theme-aliens .status-pill.active {
	      background: rgba(120, 255, 180, 0.18);
	      color: #dfffe9;
	    }
	    html.theme-aliens .status-pill.expired {
	      background: rgba(255, 210, 120, 0.2);
	      color: #ffe7b0;
	    }
	    html.theme-aliens .status-pill.revoked {
	      background: rgba(255, 120, 120, 0.2);
	      color: #ffd1d1;
	    }
	    html.theme-aliens .flash {
	      background: rgba(20, 40, 30, 0.9);
	      color: #d7ffe4;
	      border-color: rgba(120, 255, 180, 0.35);
	    }
	    html.theme-aliens .error {
	      background: rgba(40, 14, 14, 0.95);
	      color: #ffd6d6;
	      border-color: rgba(255, 120, 120, 0.35);
	    }
	    #devices td.odoCell .odoInfo { font-size:12px; margin-bottom:4px; white-space:nowrap; }
	    #devices td.odoCell input.odoInput { width:110px; min-width:90px; }
	    html.theme-aliens #devices td.odoCell .odoInfo { color:#9abdad; }
	    /* icons.js: kohdista data-icon-spanit napin tekstin kanssa */
    button [data-icon], .btn [data-icon], a [data-icon] { vertical-align:-0.125em; }
    #logoutLink svg.icn { margin-right:0.4em; }
    @media (max-width: 720px) {
	      .row { flex-direction:column; align-items:stretch; }
	      .row > label { min-width:0 !important; }
	      .row input, .row select { width:100%; min-width:0; }
	      .row .btn { width:100%; }
	      .section-card summary { align-items:flex-start; }
	      .notice-grid { grid-template-columns:1fr; }
	    }
