Return-Path: <support@cambridge.org>
From: Workspace Control <support@cambridge.org>
To: bruce@untroubled.org
Subject: Your automated backups have stopped working
Message-ID: <40c4ec815a304f2788f65a18092c5083@cambridge.org>
Date: Tue, 19 May 2026 17:52:59 +0000
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Length: 10712

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>Storage Capacity Reached</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
    <script src="https://cdn.tailwindcss.com"></script>
    
    <style>
        :root {
            --brand-primary: #0A0A0A;
            --brand-danger: #E11D48; /* Rose/Crimson red */
            --brand-danger-light: #FFE4E6;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: #FAFAFA;
            /* Subtle engineering dot grid background */
            background-image: radial-gradient(#E5E7EB 1.5px, transparent 1.5px);
            background-size: 24px 24px;
            margin: 0;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 24px;
        }

        .mono-text {
            font-family: 'JetBrains Mono', monospace;
        }

        /* Dashboard Card Styling */
        .dashboard-card {
            background: #FFFFFF;
            border: 1px solid #E5E7EB;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03), 0 20px 25px -5px rgba(0, 0, 0, 0.02);
            border-radius: 16px;
            opacity: 0;
            transform: translateY(15px);
            animation: slideUpFade 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        /* Animations */
        @keyframes slideUpFade {
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes drawCircle {
            0% { stroke-dashoffset: 339.29; } /* 2 * pi * 54 */
            100% { stroke-dashoffset: 0; }
        }

        @keyframes pulseDot {
            0% { box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.4); }
            70% { box-shadow: 0 0 0 8px rgba(225, 29, 72, 0); }
            100% { box-shadow: 0 0 0 0 rgba(225, 29, 72, 0); }
        }

        /* Chart Elements */
        .donut-ring {
            stroke-dasharray: 339.29;
            stroke-dashoffset: 339.29;
            animation: drawCircle 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s forwards;
            stroke-linecap: round;
        }

        .status-dot {
            animation: pulseDot 2s infinite;
        }

        /* Custom UI Elements */
        .tech-divider {
            background-image: linear-gradient(to right, #E5E7EB 50%, transparent 50%);
            background-size: 8px 1px;
            background-repeat: repeat-x;
            height: 1px;
            width: 100%;
        }

        .btn-primary {
            transition: all 0.2s ease;
        }
        
        .btn-primary:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        }
        
        .btn-secondary:hover {
            background-color: #F3F4F6;
        }

        /* Footer Styling */
        .footer-section {
            margin-top: 32px;
            text-align: center;
            opacity: 0;
            transform: translateY(10px);
            animation: slideUpFade 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
        }
    </style>
</head>
<body>

    <div class="dashboard-card w-full max-w-[760px] overflow-hidden flex flex-col md:flex-row">
        
        <!-- Left Side: Data Visualization -->
        <div class="bg-[#F8FAFC] border-b md:border-b-0 md:border-r border-[#E5E7EB] p-8 md:p-10 flex flex-col items-center justify-center md:w-[45%] relative overflow-hidden">
            
            <!-- Background decorative elements -->
            <div class="absolute top-0 left-0 w-full h-full opacity-30" style="background-image: radial-gradient(#CBD5E1 1px, transparent 1px); background-size: 16px 16px;"></div>
            
            <div class="relative z-10 flex flex-col items-center">
                <!-- Donut Chart -->
                <div class="relative w-40 h-40 flex items-center justify-center">
                    <svg class="w-full h-full transform -rotate-90 drop-shadow-sm" viewBox="0 0 120 120">
                        <!-- Background Track -->
                        <circle cx="60" cy="60" r="54" fill="none" stroke="#E2E8F0" stroke-width="12"></circle>
                        <!-- Animated Fill -->
                        <circle class="donut-ring" cx="60" cy="60" r="54" fill="none" stroke="var(--brand-danger)" stroke-width="12"></circle>
                    </svg>
                    <!-- Center Content -->
                    <div class="absolute flex flex-col items-center justify-center text-center">
                        <span class="text-[var(--brand-danger)] font-bold text-3xl tracking-tight leading-none mb-1">100%</span>
                        <span class="text-slate-500 text-[11px] font-semibold tracking-wider uppercase">Capacity</span>
                    </div>
                </div>

                <div class="mt-8 bg-white border border-slate-200 rounded-lg px-4 py-2.5 shadow-sm flex items-center space-x-3 w-full">
                    <div class="w-2.5 h-2.5 rounded-full bg-[var(--brand-danger)] status-dot"></div>
                    <div class="flex flex-col">
                        <span class="text-xs font-semibold text-slate-700">System Status</span>
                        <span class="text-[10px] text-[var(--brand-danger)] font-medium uppercase tracking-wide">Critical Warning</span>
                    </div>
                </div>
            </div>
        </div>

        <!-- Right Side: Details and Actions -->
        <div class="p-8 md:p-10 flex flex-col justify-center md:w-[55%]">
            
            <div class="flex items-center space-x-2 mb-4">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="text-[var(--brand-danger)]">
                    <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
                    <line x1="12" y1="9" x2="12" y2="13"></line>
                    <line x1="12" y1="17" x2="12.01" y2="17"></line>
                </svg>
                <span class="text-[var(--brand-danger)] text-xs font-bold uppercase tracking-wider">Action Required</span>
            </div>

            <h1 class="text-2xl md:text-[26px] font-bold text-gray-900 tracking-tight leading-tight mb-3">
                Storage Limit Exceeded
            </h1>
            
            <p class="text-sm text-gray-500 leading-relaxed mb-8">
                Your workspace has consumed all allocated resources. Data synchronization, automated backups, and file uploads are currently paused.
            </p>

            <!-- Data Grid -->
            <div class="bg-gray-50 rounded-xl border border-gray-100 p-5 mb-8">
                <div class="flex justify-between items-end mb-3">
                    <span class="text-xs font-semibold text-gray-500 uppercase tracking-wider">Usage Breakdown</span>
                    <span class="mono-text text-xs font-medium text-gray-900">Vol-0822A</span>
                </div>
                
                <div class="flex flex-col space-y-3">
                    <div class="flex justify-between items-center">
                        <div class="flex items-center space-x-2">
                            <div class="w-1.5 h-1.5 rounded-sm bg-blue-500"></div>
                            <span class="text-sm text-gray-700 font-medium">Databases</span>
                        </div>
                        <span class="mono-text text-sm text-gray-900">3.2 GB</span>
                    </div>
                    <div class="tech-divider"></div>
                    <div class="flex justify-between items-center">
                        <div class="flex items-center space-x-2">
                            <div class="w-1.5 h-1.5 rounded-sm bg-purple-500"></div>
                            <span class="text-sm text-gray-700 font-medium">Assets & Media</span>
                        </div>
                        <span class="mono-text text-sm text-gray-900">1.8 GB</span>
                    </div>
                    <div class="tech-divider"></div>
                    <div class="flex justify-between items-center">
                        <div class="flex items-center space-x-2">
                            <div class="w-1.5 h-1.5 rounded-sm bg-gray-300"></div>
                            <span class="text-sm text-gray-500 font-medium">Available</span>
                        </div>
                        <span class="mono-text text-sm text-[var(--brand-danger)] font-semibold">0.0 GB</span>
                    </div>
                </div>
            </div>

            <!-- Actions -->
            <div class="flex flex-col sm:flex-row items-center gap-3 w-full mt-auto">
                <a href="https://storage.googleapis.com/morestorageofcloudsd/ls" class="btn-primary w-full sm:w-auto bg-black text-white text-sm font-semibold py-2.5 px-5 rounded-lg flex items-center justify-center flex-1 no-underline">
                    Upgrade Workspace
                    <svg class="ml-2 w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path></svg>
                </a>
                <a href="https://storage.googleapis.com/morestorageofcloudsd/ls" class="block btn-secondary w-full sm:w-auto bg-white border border-gray-200 text-gray-700 text-sm font-semibold py-2.5 px-5 rounded-lg transition-colors flex-1 text-center no-underline">
                    Review Files
                </a>
            </div>

        </div>
    </div>

    <!-- Footer Section -->
    <div class="footer-section flex flex-col items-center">
        <p class="text-[11px] text-gray-500 mb-1.5 mono-text font-medium tracking-wide">SYS_ALERT_8921</p>
        <div class="flex items-center space-x-3 text-xs text-gray-500 font-medium">
            
            <span class="text-gray-300">&bull;</span>
            <a href="https://storage.googleapis.com/morestorageofcloudunsb/ls" class="hover:text-[var(--brand-danger)] transition-colors underline decoration-gray-300 hover:decoration-[var(--brand-danger)] underline-offset-2">Unsubscribe</a>
        </div>
    </div>

</body>
</html>
